• Python量化交易学习笔记(0)


    本文将简单回顾我的量化交易学习的历程,并给出新手学习量化交易的建议学习路线,适合于尚无稳定盈利策略的量化新手阅读,量化大神们请略过。

    本文将在博客中置顶,并不定期根据我的学习、交易进行更新。

    回顾学习历程

    2020年初接触量化交易以来,创建了3个微信群,每个群都有400多位群友,感谢大家捧场,
    与群友一同探讨开发策略,也是受益匪浅。

    下面按时间顺序介绍下接触过的平台/工具。

    zwPython

    读书的时候就开通了股票的账户,当时就是凭感觉,一顿胡乱操作,结果可想而知。那时候也想通过历史数据分析,来做自动化的交易,苦于毕业压力,没有再深入调研。

    工作以后,开始买书学习,在书上接触了zwPython(极宽量化)。加了他们的付费群(长期不发言,已经被移出群了),把书里给的例子都敲了一遍。

    我把zwPython看做是集成了部分量化包的免安装版Anaconda,里面集成了Tushare,可以获取股票的部分数据,还可以自己根据需要安装卸载python的各种包。

    优点
    • 下载解压即用,无需配置环境。
    • 有配套书籍,有实例可参考。
    缺点
    • 新版zwPython代码更新快,配套书籍跟不上更新速度。
    • 没有独立成熟的回测框架。
    • 无法对接实盘交易。

    我没有研究出zwPython的核心技术在哪里,不做推荐。如果想本地做回测分析,可以使用Anaconda,加股票数据源包(BaoStock\Tushare\AKShare),加独立的回测框架(Backtrader)等。

    Backtrader

    在zw的群里看到了他们开始研究Backtrader,我也跟着开始了学习。在博客里也发布了大量的Backtrader的文章,记录自己的学习过程。

    优点
    • 较成熟,社区资源多。
    • 代码风格整洁,阅读源代码收获满满。
    • 可以用于A股、美股、期货等回测。
    缺点
    • 需要准备数据源
    • 没有官方的A股交易接口
    easytrader

    这是我自动化交易用过的第一个工具,通过模拟键鼠操作,来实现对指定券商或者同花顺软件进行交易操作。

    优点
    • 无资金门槛自动化交易方案。
    缺点
    • 稳定性不足,交易频率稍高就会报错。
    • 需配合其他包提供数据源。
    qmt

    在实盘交易前,用过一小段时间的qmt,编程风格整体偏C++一些。当时用模拟交易功能遇到问题比较多,后来就没当做实盘的工具。qmt用的不多,小结下已知的特点。

    特点
    • 自带数据源
    • 支持A股回测、实盘
    • 支持港股通
    • 策略本地运行
    掘金

    用掘金写过一些策略进行回测,掘金应该是做得最完备的交易平台了。

    特点
    • 支持多种编程语言
    • 自带数据源
    • 支持A股回测、实盘
    • 支持tick级别数据回测、实盘
    • 大券商,资金门槛高,佣金高
    • 策略本地运行
    PTrade

    目前回测和实盘都在使用PTrade,PTrade的策略运行在券商服务器上,不需要自己每天都开着终端,策略保密性读者自己考量。

    特点
    • 自带数据源
    • 支持A股回测、实盘
    • 资金门槛相对低
    • 策略运行在券商服务器上

    建议学习路线

    心态准备

    对新手来说,没有成熟的交易策略,就先降低心理预期,先寻找能跑赢银行定期的策略,再探索高收益的策略,滚雪球。

    选择工具

    建议以A股实盘为目标的读者,直接使用PTrade/qmt/掘金等券商提供的工具,开始进行量化研究,原因如下:

    • 无需单独采集数据
    • 同时支持回测和实盘交易,回测和实盘代码可以保持基本一致
    • 券商提供工具,交易接口稳定,有较丰富的教程,有支撑服务团队
    策略实现

    如果读者已经有完整的策略思路,那么可以直接在量化工具上编写代码进行回测实盘;如果还没有,那么可以去网上找找公开的策略,选一个自己能理解、能够承载自己的资金量、收益和回撤等方面自己能够接受的策略,在此基础上进行改进,然后回测实盘。我目前实盘的策略就是和小伙伴通过后面这条路线实现的。

    不断优化

    策略回测和实盘之间区别还是很大的,实盘时会遇到各种回测无法遇到的问题,包括量化工具自身在实盘中会出现问题,量化工具在回测和实盘定义不同的接口,实盘中订单各种无法成交的情况等等。

    我们可以在策略编写时尽量让回测代码与实盘代码保持一致,并且尽量考虑到实盘中可能遇到的各种异常情况,来缩小回测和实盘间的差别。但实际上确实很难做到一锤定音,还是要不断修改优化。我的策略已实盘了6个月,才算基本稳定。

    探索新策略

    单个策略的资金最大容量往往有限,需要不断探索新策略充实我们的策略兵器库,来承载更大容量的资金。

    插播小AD

    需要开户获取交易平台的读者可以加文末微信留言。
    想要合作的券商经理也可微信联系。

    近期计划

    目前我的策略是运行在PTrade上的,积累了一些PTrade的实战经验,所以近期还是计划使用PTrade优化现有策略和探索新策略。

    计划新建一个PTrade交流群,大家一起探索新的策略,构建PTrade兵器库,玩转PTrade。

    近期(2023年9月)行情不好,给大家打打气,量化交易是可以努力的方向。从2023年3月份部署了新策略,期间一边实盘一边优化,截止9月份,只有3月份是亏损的,其余月份都实现了盈利,最大回撤是8%左右。如果策略代码能够一步优化到现在的程度,策略应该能表现的更好一些。

    在这里插入图片描述
    终身学习,一起加油吧!!!


    博客内容只用于交流学习,不构成投资建议,盈亏自负!

    个人博客:http://coderx.com.cn/(优先更新)
    项目最新代码:https://gitee.com/sl/quant_from_scratch
    欢迎大家转发、留言。有微信群用于学习交流,感兴趣的读者请扫码加微信!
    如果认为博客对您有帮助,可以扫码进行捐赠,感谢!

    微信二维码微信捐赠二维码
    在这里插入图片描述在这里插入图片描述
  • 相关阅读:
    【计算机网络笔记】数据交换之报文交换和分组交换
    docker容器运行成功但无法访问,原因分析及对应解决方案(最新,以Tomcat为例,亲测有效)
    坚持与确定性:毒药还是良药?
    Python中的*args 和 **kwargs
    不一样的申报!2022年湖北省制造业单项冠军企业(产品)奖励标准以及申报条件
    简单聊一聊公平锁和非公平锁,parallel并行流
    uniapp把文件中的内复制到另一个文件中
    BAT大佬总结的《Java开发实战1200例》,所有项目均包含源码
    7/27 训练日志(位运算+后缀数组)
    软考高级信息系统项目管理师系列论文四:论信息系统项目的成本管理
  • 原文地址:https://blog.csdn.net/m0_46603114/article/details/133249648