Python 金融量化 随机指标交易策略(下)

简介: Python 金融量化 随机指标交易策略(下)

5. 计算K、D指标值

5.1 K值、D值指标概述

K值由前一日的K值和当期RSV值经过一定权重调整后相加得到,一般来说,K值的计算为:
在这里插入图片描述

此外,在计算第一期K和D值时,如果没有指定,则K值和D值都默认取值为50。在K值和D值的求解过程中,平滑权重2/3和1/3是较为常用的权重,这两个权重也可以根据股价走势的特点进行适当修改。
(通过递归和迭代,我们可以发现K值是由未成熟随机指标RSV通过指数移动平均而得到的。D值是K值的指数移动平均数。)


5.2 计算代码

# 计算K值
KValue = pd.Series(0.0, index=RSV.index)
KValue[0] = 50
for i in range(1,len(RSV)):
    KValue[i] = 2/3*KValue[i-1] + RSV[i]/3

KValue.name = 'KValue'

# 接着计算D值
DValue = pd.Series(0.0, index=RSV.index)
DValue[0] = 50
for i in range(1, len(RSV)):
    DValue[i] = 2/3*DValue[i-1] + KValue[i]/3

DValue.name = 'DValue'
KValue = KValue[1:]
DValue = DValue[1:]
AI 代码解读

然后,绘制曲线图

plt.rcParams['font.sans-serif'] = ['SimHei']
plt.subplot(211)
plt.title('2020年平安银行收盘价')
plt.plot(close['2020'])
plt.subplot(212)
plt.title('2020年平安银行RSV与KD线')
plt.plot(RSV['2020'])
plt.plot(KValue['2020'],linestyle='dashed')
plt.plot(DValue['2020'],linestyle='-.')
AI 代码解读

图像效果如下:
在这里插入图片描述
如图可以看出RSV曲线波动最大,K线在RSV基础上进行适当平滑,而D线波动幅度最小。收盘曲线上涨时,RSV曲线、KD线也呈上涨趋势;当收盘价在高位段上涨时,RSV曲线,K值,D值取值也较高,并在较高位处波动。

6.计算J值

J指标是KD指标的辅助指标,进一步反映了K指标与D指标的乖离程度。第t日J值的计算公式为:
在这里插入图片描述

# 计算J值
JValue = 3*KValue - 2*DValue
JValue.name='JValue'
AI 代码解读

7.绘制KDJ线

plt.rcParams['font.sans-serif'] = ['SimHei']
plt.subplot(211)
plt.title('2020年平安银行收盘价')
plt.plot(close['2020'],label='Close')
plt.legend(loc='upper left')
plt.subplot(212)
plt.title('2020年平安银行RSV与KDJ线')
plt.plot(RSV['2020'],label='RSV')
plt.plot(KValue['2020'],linestyle='dashed',label='KValue')
plt.plot(DValue['2020'],linestyle='-.',label='DValue')
plt.plot(JValue['2020'],linestyle='--',label='JValue')
plt.legend(loc='upper left')
AI 代码解读

图像效果如下:
在这里插入图片描述

8. KDJ交易策略

总结随机指标KDJ的思想,首先计算最高价,最低价和收盘价之间的比例关系,再运用平滑和乖离的思想,来捕捉动量及超买、超卖等现象,在实务上对快捷直观地研判行情很有助益。

  1. 在KDJ指标的取值上K和D值的取值范围为0-100。
    依据K值和D值可以划分出超买区和超卖区,一般而言,K值或者D值在80以上为超买区,在20以下为超卖区。
  2. 对于J值,J值大于100,可以视为超买区,J值小于0,即视为超卖区。
  3. K线由下向上穿过D线时,即出现“黄金交叉”现象,隐含股票上涨的动量较大,释放出买入信号;K线由上向下穿过D线时,出现“死亡交叉”现象,股票有下跌趋势,释放出卖出信号。
目录
打赏
0
0
0
0
12
分享
相关文章
金融波动率的多模型建模研究:GARCH族与HAR模型的Python实现与对比分析
本文探讨了金融资产波动率建模中的三种主流方法:GARCH、GJR-GARCH和HAR模型,基于SPY的实际交易数据进行实证分析。GARCH模型捕捉波动率聚类特征,GJR-GARCH引入杠杆效应,HAR整合多时间尺度波动率信息。通过Python实现模型估计与性能比较,展示了各模型在风险管理、衍生品定价等领域的应用优势。
374 66
金融波动率的多模型建模研究:GARCH族与HAR模型的Python实现与对比分析
堆叠集成策略的原理、实现方法及Python应用。堆叠通过多层模型组合,先用不同基础模型生成预测,再用元学习器整合这些预测,提升模型性能
本文深入探讨了堆叠集成策略的原理、实现方法及Python应用。堆叠通过多层模型组合,先用不同基础模型生成预测,再用元学习器整合这些预测,提升模型性能。文章详细介绍了堆叠的实现步骤,包括数据准备、基础模型训练、新训练集构建及元学习器训练,并讨论了其优缺点。
206 3
如何使用Python实现一个基于均线的交易策略
【10月更文挑战第9天】本文介绍了如何使用Python实现一个基于均线的交易策略。主要步骤包括导入所需库(如`pandas`、`numpy`和`matplotlib`),加载股票或期货的历史数据,计算均线和其他指标,实现交易策略逻辑,以及可视化交易结果。示例代码展示了如何根据均线交叉点进行开仓、止损和止盈操作,并提供了注意事项,如数据来源、交易成本和风险管理。
216 7
Python 中的数据结构和算法优化策略
Python中的数据结构和算法如何进行优化?
超越传统:Python二分查找的变种策略,让搜索效率再上新台阶!
本文介绍了二分查找及其几种Python实现的变种策略,包括经典二分查找、查找第一个等于给定值的元素、查找最后一个等于给定值的元素以及旋转有序数组的搜索。通过调整搜索条件和边界处理,这些变种策略能够适应更复杂的搜索场景,提升搜索效率和应用灵活性。
54 5
|
4月前
|
不容错过!Python中图的精妙表示与高效遍历策略,提升你的编程艺术感
本文介绍了Python中图的表示方法及遍历策略。图可通过邻接表或邻接矩阵表示,前者节省空间适合稀疏图,后者便于检查连接但占用更多空间。文章详细展示了邻接表和邻接矩阵的实现,并讲解了深度优先搜索(DFS)和广度优先搜索(BFS)的遍历方法,帮助读者掌握图的基本操作和应用技巧。
58 4
Python编码规范与代码可读性提升策略####
本文探讨了Python编码规范的重要性,并深入分析了如何通过遵循PEP 8等标准来提高代码的可读性和可维护性。文章首先概述了Python编码规范的基本要求,包括命名约定、缩进风格、注释使用等,接着详细阐述了这些规范如何影响代码的理解和维护。此外,文章还提供了一些实用的技巧和建议,帮助开发者在日常开发中更好地应用这些规范,从而编写出更加清晰、简洁且易于理解的Python代码。 ####
如何使用Python实现一个交易策略。主要步骤包括:导入所需库(如`pandas`、`numpy`、`matplotlib`)
本文介绍了如何使用Python实现一个交易策略。主要步骤包括:导入所需库(如`pandas`、`numpy`、`matplotlib`),加载历史数据,计算均线和其他技术指标,实现交易逻辑,记录和可视化交易结果。示例代码展示了如何根据均线交叉和价格条件进行开仓、止损和止盈操作。实际应用时需注意数据质量、交易成本和风险管理。
195 5
手把手教你全面评估机器学习模型性能:从选择正确评价指标到使用Python与Scikit-learn进行实战演练的详细指南
【10月更文挑战第10天】评估机器学习模型性能是开发流程的关键,涉及准确性、可解释性、运行速度等多方面考量。不同任务(如分类、回归)采用不同评价指标,如准确率、F1分数、MSE等。示例代码展示了使用Scikit-learn库评估逻辑回归模型的过程,包括数据准备、模型训练、性能评估及交叉验证。
232 1

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等