用于构建股票扫描仪/筛选器的 Python 框架。
项目描述
股票扫描仪
使用这个 Python3 库快速开发您自己的股票扫描仪。
- 内置支持使用免费的 Yahoo Finance API。
- 轻松编写您自己的条件,以决定股票是否应出现在您的扫描中。
- 可扩展且易于定制 - 只需编写您自己的包含接口的实现。
示例代码
使用预先编写的示例条件:
from src.stock_scanner.condition.Consolidating import Consolidating
from src.stock_scanner.scanner.BasicScanner import BasicScanner
from src.stock_scanner.stock_io import YahooIO
path = f'./{YahooIO.valid_universes.NASDAQ.value}'
print("Looking for consolidated stocks.")
stock_io = YahooIO(YahooIO.valid_universes.NASDAQ, path, max_tickers=50)
conditions = [Consolidating(window=10, max_difference_percentage=2)]
candidates = BasicScanner(conditions, stock_io).load_data().get_candidates()
print(list(map(lambda x: x.get_ticker(), candidates)))
核心接口
该库的主要目标是实现快速库存扫描仪开发和创建模块,您只需随意换入或换出。为了实现这一点,有许多不同的接口(或者在 Python 中技术上更正确,抽象类):
- StockIOInterface - 将股票数据下载到磁盘然后读取的接口。
- ConditionInterface - 检查股票是否满足条件的接口。这是您可能会自己做最多工作的界面,因为它是构建扫描仪时最关键的界面。
- ValidatorInterface - 一个接口,用于根据股票满足的条件决定是否应将股票作为候选对象返回。
- ScannerInterface - 扫描“主引擎”的接口。
- StockInterface - 与股票数据交互的接口。
基本使用指南
- 构造一个 StockIO 实例。
- 列出 Condition 实例。
- 实例化一个验证器。
- 将这些作为参数传递给 Scanner。
当使用其中一些接口的包含的基本实现时,该过程会稍微简化:
- 构造一个 StockIO 实例(例如 YahooIO)
- 列出 Condition 实例。
- 将这些作为参数传递给 BasicScanner。
接口的现有实现
- YahooIO - 从开放且免费的 Yahoo Finance API 获取每日数据。适用于许多用例,但存在速率限制。
- BasicValidator - 如果它满足所有给定的条件,它会查看股票并将其作为候选返回,否则不返回。
- BasicScanner - 它运行 StockIO 来下载股票数据,读取每只股票的数据,默认情况下使用 BasicValidator 来查找候选人。对于您孤立地查看股票的大多数用例来说,这应该足够了——但如果您想使用相对强弱指数,例如,您可能需要在自定义实现中编写自己的逻辑。
实验性的
目前,我正在开发一个回测模块,以方便分析扫描仪的质量。如果您可以在扫描仪中看到候选人的赢/输比率,即平均回报,会怎样?还没有完成。
此外,还有一些基本功能可以将股票及其时间序列导出到交互式 HTML/CSS/JS 图表、PNG 文件,或将候选代码列表写入文本文件。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
thumos-stock-screener-0.1.6.tar.gz
(13.3 kB
查看哈希)
内置分布
关
thumos_stock_screener -0.1.6-py3-none-any.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | ccc3804f751181c2ae1cf2de6dd3070a2ad7f1f25e341168568a7d7f3989bd48 |
|
| MD5 | 0ffde14578534af929d3f1fbc8cd4862 |
|
| 布莱克2-256 | 5461eac07173df0f41d1683d8dc17a8e88ad929ae0c0fa552eefdf435974567d |