Sequoia:A股自动选股程序
投资有风险 入市需谨慎
大家好!最近我发现了一个炒A股的神器——Sequoia自动选股程序,它实现了海龟交易法则、缠中说禅牛市买点,以及其他若干种技术形态。
介绍
本程序使用AKShare
接口,从东方财富获取数据。
本程序实现了若干种选股策略,大家可以自行选择其中的一到多种策略组合使用,参见work_flow.py
,也可以实现自己的策略。
#filename: work_flow.py
strategies = {
'放量上涨': enter.check_volume,
'均线多头': keep_increasing.check,
'停机坪': parking_apron.check,
'回踩年线': backtrace_ma250.check,
'突破平台': breakthrough_platform.check,
'无大幅回撤': low_backtrace_increase.check,
'海龟交易法则': turtle_trade.check_enter,
'高而窄的旗形': high_tight_flag.check,
'放量跌停': climax_limitdown.check,
}
使用方法
以下仅以Windows为例, Linux、Mac可以参照下面Github官网安装
配置python环境
推荐使用 Miniconda来进行 Python 环境管理Miniconda
安装 conda 后,切换到项目专属环境进行配置,例如:
conda create -n sequoia39 python=3.9
conda activate sequoia39
下载代码
git clone https://github.com/sngyai/Sequoia.git
cd Sequoia
安装依赖
pip install -r requirements.txt
这一步通常会失败, 如下:
Building wheels for collected packages: TA-Lib
Building wheel for TA-Lib (pyproject.toml) ... error
error: subprocess-exited-with-error
......
error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/
这是因为需要编译环境, 按需安装即可。 不过有第三方已经编译好了TA-Lib库, 我们可以直接用。 https://github.com/cgohlke/talib-build/
requirements.txt
里指定的TA-lib版本v0.4.32
, python版本3.9, 找到对应的文件,下载下来。
然后在对应的sequoia39
环境安装
(sequoia39) D:\zuoye\Sequoia>pip install D:\gebaocai\Downloads\TA_Lib-0.4.32-cp39-cp39-win_amd64.whl
Looking in indexes: https://mirrors.aliyun.com/pypi/simple/
Processing d:\gebaocai\downloads\ta_lib-0.4.32-cp39-cp39-win_amd64.whl
Requirement already satisfied: numpy in c:\users\gebaocai\miniconda3\envs\sequoia39\lib\site-packages (from TA-Lib==0.4.32) (2.0.2)
Installing collected packages: TA-Lib
Successfully installed TA-Lib-0.4.32
这样就安装好了TA-Lib, 再执行
pip install -r requirements.txt
处理Bug
这个程序在回踩年线
策略时有个bug, 执行时会报:
File "D:\zuoye\Sequoia\strategy\backtrace_ma250.py", line 72, in check
date_diff = datetime.date(datetime.strptime(recent_lowest_row['日期'], '%Y-%m-%d')) - \
TypeError: strptime() argument 1 must be str, not datetime.date
这个需要把backtrace_ma250.py
第72行改为:
date_diff = datetime.date(datetime.strptime(str(recent_lowest_row['日期']), '%Y-%m-%d')) - \
datetime.date(datetime.strptime(str(highest_row['日期']), '%Y-%m-%d'))
运行程序
python main.py
等待10分钟左右,在程序目录下会生成文件sequoia.log
, 里面会把符合条件的股票选出来, 如图:
结语
我个人觉得Sequoia对A股投资者来说是一个非常不错的工具,推荐大家关注一下,说不定能帮助大家在股市里获得更好的回报!
github地址: https://github.com/sngyai/Sequoia