搭建过程
每个交易者都应该形成一套自己的交易系统。
很多交易者也清楚知道,搭建自己交易系统的重要性。现实中,从0到1往往是最难跨越的一步。
授人鱼不如授人以渔,为了帮助大家跨出搭建量化系统的第一步,我们决定推出这个主题系列。
这个系列中,我们用Python从0开始一步步搭建出一套ETF量化交易系统(选择ETF标的是因为对于普通交易者来说,ETF相对于选强势股难度要小,而且没有退市风险)。大家可以跟随着我们的实现路径来一起学习,从过程中掌握方法。
掌握了方法之后,你可以换成期货系统、比特币系统、美股系统,然后在实战中不断去完善自己的系统了。
搭建一套ETF量化交易系统涉及多个模块和组件的协同工作,包括数据源模块、量化策略模块、可视化模块、数据库模块、回测评估模块、自动交易模块等等。
DAY1链接如下:15天搭建ETF量化交易系统Day1—数据源模块
DAY2链接如下:15天搭建ETF量化交易系统Day2—图形显示模块
DAY3链接如下:15天搭建ETF量化交易系统Day3—上手经典回测框架
DAY4链接如下:15天搭建ETF量化交易系统Day4—玩转海龟交易策略
DAY5链接如下:15天搭建ETF量化交易系统Day5—打造实盘量化机器人
DAY6链接如下:15天搭建ETF量化交易系统Day6—打通同花顺自动交易
DAY7结合前面几天的成果,我们开启完全自动化的一天,让“量化机器人”实时监测ETF品种,当达到条件后自动下单交易。
交易逻辑
在交易时间段,远程服务器自动运行“量化机器人”。
“量化机器人”监测的ETF品种如下:
"上证50ETF": "510050", "深成ETF": "159903", "沪深300ETF": "159919", "中小100ETF": "159902",
"国企共赢ETF": "159719", "央企能源ETF": "562850", "央企ETF": "510060",
"中证1000ETF": "159845", "中证2000ETF": "159531", "创业板指": "159915", "纳指科技ETF": "159509",
"美国50ETF": "513850", "法国ETF":"513080", "亚太精选":"159687", "纳指生物ETF": "513290",
"日经225ETF": "513000", "德国ETF": "513030", "法国CAC40ETF": "513080", "黄金ETF": "518860"
“量化机器人”采用60分钟级别MACD金叉死叉策略为例。
# 计算MACD指标
fast_period = 12 # 快速移动平均线周期
slow_period = 26 # 慢速移动平均线周期
signal_period = 9 # 信号线周期c
dif, dea, hist = talib.MACD(df_index_data['close'], fastperiod=fast_period, slowperiod=slow_period, signalperiod=signal_period)
list_diff = np.sign(dif - dea)
signal_diff = np.sign(list_diff - list_diff.shift(1))
“量化机器人”监测到有ETF符合买入条件时,查询交易账户是否有足够的资金能买入。当账户余额充足时,则立即以当前价格买入。
if self.ths.check_stock_is_av_buy(code, df_index_data['close'][-1], 1000, 5000) == True:
self.ths.make_buy(code, df_index_data['close'][-1], 1000)
“量化机器人”监测到有ETF符合卖出条件时,查询交易账户是否有仓位要卖出。当账户有持有的仓位时,则立即以当前价格卖出。
if self.ths.check_stock_is_av_sell(code, 100) == True:
self.ths.make_sell(code, df_index_data['close'][-1], 2000)
同时,“量化机器人”也会发送消息到我手机上,及时通知我。
auto_send_email(sys_para_dict['mailbox']['to_address'],
'主人!你实时监测的ETF有最新消息!',
send_cont,
sys_para_dict['mailbox']['password'],
'smtp.qq.com', # smtp.163.com
from_address=sys_para_dict['mailbox']['from_address']) #
效果展示
在今天实盘过程中,“量化机器人”下午2点15左右自动买入了1000股“深成ETF”:
总结
今天我们完成了闭环的全自动化的交易系统之后,接下去我们就可以来优化交易策略,打造一个可以赚钱的交易系统。
说明
此系列为连载专栏,完整代码会上传知识星球《玩转股票量化交易》!作为会员们的学习资料。
想要加入知识星球《玩转股票量化交易》的小伙伴记得先微信call我获取福利!
非星球会员需要的话,需要单独联系我购买!
知识星球介绍点击:知识星球《玩转股票量化交易》精华内容概览