从简单应用到平台框架应用,不同场景下,基于python快速简便地实时计算金融技术指标的方法,总结如下(鄙人之前走了不少弯路,以下五种场景实现及避坑方法,分别介绍给各位朋友,请借鉴):
一、tradingview的方法库
如果你要基于tradingview框架做量化系统和策略,那就非常直接简单容易了。我敢说,几乎所有你想到的、和没有想到的技术指标,都已经集成在tradingview的方法库和框架中了。最重要的是,在你开发的量化平台中,直接使用 tradingview的方法库,而且可以自定义和开发新的自己的技术指标和方法。——专业、快速!
在我知乎专栏”低门槛搭建个人量化平台”有实现方法介绍,演示效果参见下面视频。(如果觉得专栏里详细介绍繁琐,直接略过本节,看下面 talib 和quantLib方法)。
阿岛格:低门槛搭建个人量化平台 — 第一天:前言和预备工作
阿岛格:低门槛搭建个人量化平台 — 第五天:自定义功能和指标
低门槛搭建你的个人量化平台-演示
二、TaLib免费金融库
或者可以自己可以安装专业的TaLib免费金融库,计算也非常方便。注意TaLib在Linux 下安装有坑。我用下面的方法避坑的:
1、Linux \ ubuntu环境
先网上下载ta-lib, 然后解压untar到自己目录,然后在terminal上:
cd ./adog/tools/ta-lib
./configure --prefix=/usr (‘sudo chmod +x configure’ ,if need )
sudo make
sudo make install
成功之后
sudo apt-get install python-dev ( important:这步非常重要! )
sudo pip install TA-Lib -i https://pypi.tuna.tsinghua.edu.cn/simple
sudo ln -s /usr/local/lib/libta_*.so /usr/lib
sudo ldconfig
这样就可以了。
2、window环境
在windows安装就比较简单:
到 https://www.lfd.uci.edu/~gohlke/pythonlibs/ 下载 比如 TA_Lib-0.4.17-cp27-cp27m-win32.whl
copy 到目录 \Python27_32bit\Lib。然后执行
D:\Python27_32bit\Lib>pip install TA_Lib-0.4.17-cp27-cp27m-win32.whl
这样就安装好了!
安装好后的实现案例见:阿岛格:基于人工智能的量化投资系统(9)数据指标及可视化 的第4和5, 以及本文最后的视频。
三、QuantLib免费金融库
另外一个QuantLib 也是一个免费、开源的python量化金融计算库和框架。QuantLib 的源代码由 C++ 编写,速度很快。
1、Linux \ ubuntu
在ubantu 环境,很多人在安装quantlib的时候,踩坑无数而最后放弃。我也是折腾很长时间,发现了一个很讨巧和简便的方式。下面介绍linux 和 window 下的安装方法。
sudo mkdir /usr/local/lib/python2.7/dist-packages/QuantLib
sudo cp /home/adog/tools/QuantLib/copy_install_quantLib/QuantLib/. /usr/local/lib/python2.7/dist-packages/QuantLib/
sudo cp /home/adog/tools/QuantLib/copy_install_quantLib/libQuantLib.so.0 /usr/lib/
其中 copy_install_quantLib/QuantLib/. 是在官方网站上下载的文件。
只需要上三步就可以安装QuantLib
- window
在window环境,安装更简单。
在:https://www.lfd.uci.edu/~gohlke/pythonlibs/ 下载:
QuantLib_Python-1.11-cp27-cp27m-win32.whl
把文件放到 python\Lib
cmd 运行:
D:\Python27-32\Lib>pip install QuantLib_Python-1.11-cp27-cp27m-win32.whl
这样就可以了。
使用QuantLib 的案例如下:
直接用库里的BS模型、二(三)叉树法和 Monte Carlo 可以计算期权定价或隐含波动率。
例如,再用plotly 可视化引擎,可是实时做出漂亮的波动率曲面。
参见:阿岛格:基于人工智能的量化投资系统(9)数据指标及可视化 的第3, 以及本文最后的视频。
四、其他的库
还有上百个好的工具和库,请参见:阿岛格:当前国内的程序化交易量化交易,有哪些好的框架和工具?,里面有链接, 可以自己试验和选择。
五、特别说明
最后,特别介绍在实盘和实时行情中,计算期权的风险指标和隐含波动率的方法。因为之前鄙人为了这个曾伤透了脑筋。
因为期权的隐含波动率计算比较耗时,我为了在自己的量化平台中,实时计算实盘行情中各个期权合约的风险指标和隐含波动率,并要求将计算时间控制在秒级内,费力不少脑筋和气力,最后选择了下面的解决方案:
用单独服务器获取实时行情数据的同时,嵌入自己改进的mibian 算法计算风险指标和隐含波动率。以下可以参考:
阿岛格:怎么实时计算期权的风险指标和隐含波动率?
阿岛格:第三方API(pytdx)获取实时行情数据
之后用 python flask的 socketIO 方案,动态显示在 Web网页上
以上希望对朋友有益,如果有帮助,请不吝支持点赞!