当前位置:   article > 正文

一个实用的股票模拟交易框架【附Python完整源码】

python 炒股 开源包 模块

引言

本文由知识星球会员“高歌的小溪”撰写,旨在分享一个全面的股票模拟交易框架。该框架涵盖了交易、量化选股、提醒和数据存储四个模块,对于想开发个人量化投资框架的读者来说很有借鉴意义。对于个人投资者,由于不能总是实时监控市场,容易错过一些关键的交易时刻,导致交易失败。本框架的设计初衷,正是为了解决这一痛点,通过自动化工具弥补人工监控的不足。使用qstock模块获取实时股票数据,结合市场动态和量化选股策略,允许交易者以开盘价买入并持有股票,直至满足清仓条件,确保能够捕捉到利润最大化的机会。此外,该框架还能够定时监测持股形态和趋势,并通过微信、钉钉、邮件等通信工具及时提醒用户,从而使得及时买卖成为可能。无论是新手投资者还是经验丰富的量化交易者,本框架都提供了宝贵的参考价值,让读者能够从中学习并应用到自己的交易实践中去。在公众号后台回复“20231109”可获取该股票模拟交易框架的完整源码

股票模拟交易各模块简介

01

交易模块

交易模块包括买入、卖出操作和卖出策略,以MACD死叉+回撤比例作为卖出策略,可自行扩展卖出策略。

5de14a5ab2e691a66e2fda9935483123.png

详细代码见strategy_macd.py

02

量化选股

量化选股是一个可扩展的模块,个人根据自己经验、喜好等自定义自己的选股模块。

框架中以动量+MACD金叉选股作为买入策略。

728d7b6578363c43031a4d85bf8fcc1b.png详细代码见strategy_macd.py

03

提醒模块

提醒模块通过钉钉群或电子邮件进行提醒。

 322861daa5d420a87062f8a40ba4b4cf.png

0c1592299b5e76ea66312de2beaa93ca.png

详细代码见dingtalk.py、email.py、wechart.py

04

数据存储

为简化操作,资产信息和持仓信息以json文件格式保存,交易信息以csv文件格式保存。

资产信息记录当前可用资金、总市值、总资产(可用资金+总市值)、收益率等情况。

持仓信息记录目前持有的股票信息,包括股票代码、持有数量、建仓时间、成本价。

交易信息记录每次买入/卖出的情况。

0b34a71d7ed95073a7303fd38deaa976.png

详细代码见data.py

运行模拟交易框架

盘前:python strategy_macd.py prepare

开盘:python strategy_macd.py open

盘中:python strategy_macd.py check

盘后:python strategy_macd.py close

结合操作系统定时任务,完成定时执行策略。Linux定时任务参考如下:

d4e28f6bcc7f3700b5163b2c58d95f8a.png

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

35f2c42ada79799e70da139e804f12b7.png

关于Python金融量化

3e5f32010e1d56286e7826b41282307a.png

专注于分享Python在金融量化领域的应用。加入知识星球,可以免费获取qstock源代码、30多g的量化投资视频资料、量化金融相关PDF资料、公众号文章Python完整源码、与博主直接交流、答疑解惑等。添加个人微信sky2blue2可获取八五折优惠。

ca937af385f368140f5a62ce34dfd728.jpeg

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/78621
推荐阅读
相关标签
  

闽ICP备14008679号