赞
踩
引言
本文由知识星球会员“高歌的小溪”撰写,旨在分享一个全面的股票模拟交易框架。该框架涵盖了交易、量化选股、提醒和数据存储四个模块,对于想开发个人量化投资框架的读者来说很有借鉴意义。对于个人投资者,由于不能总是实时监控市场,容易错过一些关键的交易时刻,导致交易失败。本框架的设计初衷,正是为了解决这一痛点,通过自动化工具弥补人工监控的不足。使用qstock模块获取实时股票数据,结合市场动态和量化选股策略,允许交易者以开盘价买入并持有股票,直至满足清仓条件,确保能够捕捉到利润最大化的机会。此外,该框架还能够定时监测持股形态和趋势,并通过微信、钉钉、邮件等通信工具及时提醒用户,从而使得及时买卖成为可能。无论是新手投资者还是经验丰富的量化交易者,本框架都提供了宝贵的参考价值,让读者能够从中学习并应用到自己的交易实践中去。在公众号后台回复“20231109”可获取该股票模拟交易框架的完整源码。
股票模拟交易各模块简介
01
交易模块
交易模块包括买入、卖出操作和卖出策略,以MACD死叉+回撤比例作为卖出策略,可自行扩展卖出策略。
详细代码见strategy_macd.py
02
量化选股
量化选股是一个可扩展的模块,个人根据自己经验、喜好等自定义自己的选股模块。
框架中以动量+MACD金叉选股作为买入策略。
详细代码见strategy_macd.py
03
提醒模块
提醒模块通过钉钉群或电子邮件进行提醒。
详细代码见dingtalk.py、email.py、wechart.py
04
数据存储
为简化操作,资产信息和持仓信息以json文件格式保存,交易信息以csv文件格式保存。
资产信息记录当前可用资金、总市值、总资产(可用资金+总市值)、收益率等情况。
持仓信息记录目前持有的股票信息,包括股票代码、持有数量、建仓时间、成本价。
交易信息记录每次买入/卖出的情况。
详细代码见data.py
运行模拟交易框架
盘前:python strategy_macd.py prepare
开盘:python strategy_macd.py open
盘中:python strategy_macd.py check
盘后:python strategy_macd.py close
结合操作系统定时任务,完成定时执行策略。Linux定时任务参考如下:
05
已知缺陷
1、股票交易未考虑交易成本(手续费、印花税、佣金等),以开仓时的股票价格作为成本价。
2、股票建仓价格以当日开盘价作为买入价,未考虑涨停板、跌停板以及开盘快速拉升/下跌等买不到、卖不出的情况,故计算的股票收益会有偏差。
结语
模拟交易框架旨在提供一种监测持仓,及时止损的思路。至于量化选股则是仁者见仁,智者见智,每个人都有自己的选股策略和方法,所谓千人千法,很难有所共识。止损策略也是如此,每个人的对回撤的容忍度不同,对风险的承受能力也不同,就会产生不同的止损策略。模拟交易框架可用于持仓监测,也可用于策略经回测后实盘上线前验证,避免因实盘跟回测不一致导致亏损。特别需要注意的是第七部分的已知缺陷,模拟交易框架计算的收益跟实盘存在一定的偏差。
参考资料:
01
1、qstock手册
https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzUyMDk1MDY2MQ==&action=getalbum&album_id=2619224775005257729&uin=&key=&devicetype=Windows+7+x64&version=6309071d&lang=zh_CN&ascene=7&session_us=gh_08bfa5e271b5
02
2、钉钉推送消息参考文档:
https://open.dingtalk.com/document/orgapp/custom-bot-to-send-group-chat-messages#
03
https://zhuanlan.zhihu.com/p/378791398
3、企业微信推送消息参考文档:
https://blog.csdn.net/jacke121/article/details/133624941
关于Python金融量化
专注于分享Python在金融量化领域的应用。加入知识星球,可以免费获取qstock源代码、30多g的量化投资视频资料、量化金融相关PDF资料、公众号文章Python完整源码、与博主直接交流、答疑解惑等。添加个人微信sky2blue2可获取八五折优惠。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。