| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 国内股票KDJ指标计算,Python实现KDJ指标计算,Talib实现KDJ指标计算 -> 正文阅读 |
|
[人工智能]国内股票KDJ指标计算,Python实现KDJ指标计算,Talib实现KDJ指标计算 |
0 引言KDJ指标是最为常见的指标之一,股票每日的K线数据通过Tushare、Baostock等平台能够获取到个股及指数的Open、High、Low、Close、Volume等数据,KDJ、MACD等技术指标虽然同花顺等财经网站都算好了,但是这写指标确没有接口给“量化宽客”们使用。 1 计算公式KDJ计算主要有4步: (1)计算RSV:RSV=(Close(当日值)-Low(9日最低值)) /?(High(9日最高值)-Low(9日最低值)) (2)计算K:K=ema(RSV, com=2),ema为指数移动平均,参数com取2; (3)计算D:D=ema(K, com=2),ema为指数移动平均,参数com取2; (4)计算J:J=3.0*K-2.0*D 2 Python计算实现Python实现KDJ指标的计算,主要基于Pandas库实现计算: 2.1 获取数据:通过Baostock、Tushare、YahooFinance获取数据,这里以Baostock为例:
得到结果如下:? 2.2?基于Python计算KDJ利用Python的Pandas库进行计算:
得到结果: ?对比财经网站结果,以2021-9-30为例,K、D、J三个指标与计算结果一致。 3?Ta-lib计算实现发现用Python实现代码量比较多,是不是不够优雅,那么我们用股票技术指标分析利器Ta-lib进行尝试(Ta-lib安装自行百度): Ta-lib计算KDJ的函数是STOCH,但是这个函数参数较多,按照默认配置是无法计算出和国内一致的结果:
主要参数是这几个: (1)fastk_period:对应9日移动平均,这里取值为9; (2)slowk_period: 这个指标取值是计算的关键: 计算公式中提到了? “K=ema(RSV, com=2),ema为指数移动平均,参数com取2” com=2,对应slowk_period应该取多少?通过查看Pandas官方教程: ?com=2时,α=1/3 ,??则span=5; 对应slowk_period=5; (3)slowk_matype: 通过查看Ta-lib 中matype的类型说明: MA_Type: 0=SMA, 1=EMA, 2=WMA, 3=DEMA, 4=TEMA, 5=TRIMA, 6=KAMA, 7=MAMA, 8=T3 (Default=SMA) 指数移动平均:slowk_matype应取1。 (4)slowd_period、slowd_matype同上。 (5)最后参数配置就都有了,直接上代码:
结果展示: ?和之前的计算完全一致。(此结果为:2021.10.7前复权计算结果) 4 计算速度对比把计算开始时间改为2002.4.9(600036:招商银行上市日),进行计算: Pandas totally cost: 0.0050699710845947266
总体Talib实现KDJ指标计算不仅更加优雅,而且速度比Pandas更快,小伙伴以后计算KDJ指标可以选择Talib了。
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/27 10:38:39- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |