保姆级量化交易入门教程

2021年7月6日23:24:11 5 20,192 °C
摘要

量化交易的入门级教程,Jack 的理财之路

老读者应该知道,我炒股两年多了。

从最开始的基金,到后来的股票,金额一直不大,最多就加到30万。

涨势最好的时候,差不多每天能有个近万的浮盈,偶尔还有过浮盈近两万的时候。

保姆级量化交易入门教程

自从今年2月份,股市开启困难模式后,这样的好日子就到头了。

年初,大几万的浮盈,也折损了大半,再加上今年计划要用到大钱,身体被掏空的那种。

保姆级量化交易入门教程

股市投资这块就保守了很多,基本固定在10万左右的低仓位,重在参与了。

一直有读者想看我理财类的文章,最开始应允下来,后来仔细想了想。

你说,我一个技术类博主,写理财,那不是不务正业吗

况且,我也不是学金融出身的,虽然凭运气在股市赚过一些小钱,但毕竟咱不是专业的,不敢乱指挥。

最近突然转念一想,理财+技术,这个路子我倒是可以。

我很喜欢学新知识,不仅仅局限于计算机技术,时刻保持一颗好奇心,什么都想学点。

正好,近期打算出一篇量化交易的视频,探讨探讨人工智能技术,在投资股市这件事上的应用。

学着学着,我发现,这里面的水挺深,量化交易,并没有我想像的那么好做,要学的知识有点多。

上周末,我花费了一天的时间,算是刚刚入个门。

今天,先整理分享下,量化交易的基础知识,为视频做个热身。

量化交易

量化交易就是,借助现代统计学和数学的方法,利用计算机技术来进行交易的证券投资方式。

主要涵盖的知识点如下:

保姆级量化交易入门教程

数学、编程、金融、算法都得懂,哪里不会补哪里就行。

量化平台

抓数据,写策略,在线交易,如果自己一个人来做,成本太高,不利于初期的学习。

我调研了一些量化分析平台,可以帮助我们聚焦到学习量化交易的策略学习上。

我觉得可以用来入门的平台有:

  • 聚宽
  • vnpy

量化交易的平台有很多,比如掘金、米筐、优矿等。

但适合入门的,可以直接看这聚宽和vnpy。

聚宽的社区比较活跃,有不少技术教程,适合新手入门。

https://www.joinquant.com/study

这里的知识点,就有不少可以学习,同时还有很多大佬分享自己的策略。

vnpy推荐的原因在于它是开源的,可以系统学习如何构建一个量化交易系统。

https://github.com/vnpy/vnpy

如果想自己实现一个量化交易的框架,可以从这里参考很多代码。

小试牛刀

聚宽量化交易平台的使用,比较简单。

我们以这个平台为例,讲解一个简单的量化策略。

我们回归问题的本质,买股票无非两点:

  • 买哪支股票
  • 何时买,何时卖

1、买哪支股票

投资者,选股票,最直接的就是看财务报表

至少是包括资产负债表、损益表、现金流量表,这三表。

这里的数据就太多了,每个表都有各种各样的指标。

这些指标数据,在量化交易里,叫因子。

我理解,就是我们机器学习中,常说的特征,每一个因子都可以算作一个维度的特征。

我们可以,利用这些已知的数据,构建多维的特征数据,然后将它交给机器学习算法,让算法判断这只股票,值不值得购买。

这又回到了,做算法的老生常谈的问题,选择哪些特征,去拟合数据。

妥了,特征工程走起。

保姆级量化交易入门教程

这些最底层的特征,属于一种基础的因子。

在量化交易中,还可以根据这些数据,计算出更“高维”的因子,即特征。

比如净资产收益率,英文缩写叫ROE。

净资产收益率就是公司税后利润除以净资产得到的百分比率。

即,净资产收益率=净利润/净资产

净利润,在利润表里,净资产,在资产负债表。

净资产收益率反映股东权益的收益水平,用以衡量公司运用自有资本的效率。

指标值越高,说明投资带来的收益越高。该指标体现了自有资本获得净收益的能力。

净资产收益率,就是通过一些“低维”的特征,计算出的“高维”的特征。

选股票,其实就是根据这些指标,选择出,你认为值得投资的股票。

为了简化策略,这里就简单的,单一的,利用这个净资产收益率ROE,作为我们的价值选股思想的指标。

简单暴力一点,计算当前所有股票的ROE,由大到小排序,选择top10,作为我们的股票持仓。

2、何时买,何时卖

投资者,都想买在低点,卖在高点

10块钱买,100块卖,赚个差价,赚了90。

这个问题的本质就是:低买高卖。

但现实往往是残酷的。

保姆级量化交易入门教程

何时买,何时卖,在量化交易中,有个指标,阻力支撑相对强度,即RSRS。

了解,阻力支撑相对强度,首先要知道什么是阻力位和支撑位。

阻力位是指目标价格上涨时可能遇到的压力,即交易者认为卖方力量开始反超买方,从而价格难以继续上涨或从此回调下跌的价位;

支撑位则是交易者认为买方力量开始反超卖方,从而止跌或反弹上涨的价位。

阻力支撑相对强度是一种阻力位与支撑位的运用方式,它不再把阻力位与支撑位当做一个定值,而是看做一个变量,反应了交易者对目前市场状态顶底的一种预期判断。

我们按照不同市场状态分类来说明支撑阻力相对强度的应用逻辑:

市场在上涨牛市中:

  • 如果支撑明显强于阻力,牛市持续,价格加速上涨
  • 如果阻力明显强于支撑,牛市可能即将结束,价格见顶

市场在震荡中:

  • 如果支撑明显强于阻力,牛市可能即将启动
  • 如果阻力明显强于支撑,熊市可能即将启动

市场在下跌熊市中:

  • 如果支撑明显强于阻力,熊市可能即将结束,价格见底
  • 如果阻力明显强于支撑,熊市持续,价格加速下跌

每日最高价和最低价是一种阻力位与支撑位,它是当日全体市场参与者的交易行为所认可的阻力与支撑。一个很自然的想法是建立最高价和最低价的线性回归,并计算出斜率。即:

$$
\text { high }=\alpha+\beta \cdot \text { low }+\epsilon, \epsilon \sim N\left(0, \sigma^{2}\right)
$$

当斜率值很大时,支撑强度大于阻力强度。在牛市中阻力渐小,上方上涨空间大;在熊市中支撑渐强,下跌势头欲止。

当斜率值很小时,阻力强度大于支撑强度。在牛市中阻力渐强,上涨势头渐止;在熊市中支撑渐松,下方下跌空间渐大。

RSRS指标的计算,有两种方法,第一种方法是直接将斜率作为指标值,第二种方法是在斜率基础上进行标准化。

以第二种方法为例,RSRS斜率标准分指标择时策略如下:

  1. 取前M日的RSRS斜率时间序列。(M = 600)
  2. 计算当日RSRS斜率的标准分\(R S R S_{\text {std }}\)

$$
R S R S_{s t d}=\frac{R S R S-\mu_{M}}{\sigma_{M}}
$$

其中,\(\mu_{M}\)为前M日的斜率均值,\(\sigma_{M}\)为前M日的标准差。

3. 若\(R S R S_{\text {std }}\)大于\(S_{b u y}\),则全仓买入;若\(R S R S_{\text {std }}\)小于\(S_{b u y}\),则卖出平仓。

其中,\(\left(S_{\text {buy }}=0.7, S_{\text {sell }}=-0.7\right)\)。

小试牛刀

OK,买哪支股票,以及何时买,何时卖,这两个问题解决了,我们就可以开始写代码了。

这里需要先掌握,聚宽的使用方法,以及一些api。

这部分比较简单,直接平台的官方手册就行。

编写如下代码:

左边写好代码,输入回测时间和金额就可以运行了。

保姆级量化交易入门教程

我直接回测了2010年1月到2020年1月效果,投资十年的收益:

保姆级量化交易入门教程

直接起飞,初始资金50万,赚了几百万,很稳!

保姆级量化交易入门教程

我又回测了2020年1月到2021年6月,一年半的收益:

保姆级量化交易入门教程

跑输大盘8.35%,不过也没亏,年化率也能有个11.40%,还可以吧。

总结

这个策略,没有用到历史数据,是根据当前的一些指标进行决策的。

投资理财,这方面的知识,还是要学习的,不投资股市,买个银行定期这些也挺好。

我们寒窗苦读,一方面就是想学有所成,赚钱,过个舒服的生活。

学校教我们各种基础知识,唯独很少直接地教我们,如何去赚钱,去理财,管理自己的财富。

所以,自学吧。人生在于折腾,各种知识都学学,挺好,挺有意思。

现在,虽然股市是困难模式,但是仍然有很多机会,我们也可以利用这个时间,补充自己的知识。

年入百万,对于现在的我来说,还是洗洗睡吧,梦里什么都有。

本期硬核,喜欢的朋友,转发,点赞走一波,让我瞧一瞧~

感兴趣的人多,后面继续出。

我是 Jack,我们下期见!

weinxin
微信公众号
分享技术,乐享生活:微信公众号搜索「JackCui-AI」关注一个在互联网摸爬滚打的潜行者。
Jack Cui

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:5   其中:访客  5   博主  0

    • avatar 9rax.dev 这家伙可能用了美佬的代理 谷歌浏览器 Windows 10 美国 Xerox 1

      我比较保守,有没有地址或者代码用来测试一起验证呢?

      • avatar 9rax.dev 这家伙可能用了美佬的代理 谷歌浏览器 Windows 10 美国 Xerox 1

        我见过一些打板软件,是记录涨停当天的龙虎榜的机构,通过历史数据分析第二天,这票依然涨停或者盈利的概率。

        • avatar Jack LI 来自天朝的朋友 谷歌浏览器 Windows 10 上海市 移动 0

          Jack LI飘过,常年服务量化私募大厂技术研发职位,楼主是否可以交换一个联系方式认识一下?不看工作交流交流行业信息也行

            • avatar 谁锟侥筹拷锟斤拷锟斤拷 来自天朝的朋友 谷歌浏览器 Windows 10 广东省深圳市福田区 电信 0

              @Jack LI 你好是否可以交流一下 我也是做过几年的量化 现在想自己做一些测试跑一下市商 这我的q3550590431

            • avatar 111 来自天朝的朋友 谷歌浏览器 Mac OS X 10_10_5 广东省深圳市 联通 0

              pandas.stats.api 这个在 joinQuant上运行不了,编译报错