循序渐进:用python做金融量化分析(三)如何寻找均线系统的最优参数

本文介绍了如何使用Python进行金融量化分析,特别是在寻找均线系统最优参数方面进行了改进。通过增加自动化功能,程序能遍历不同均线参数并输出收益率最高的组合。测试结果显示,20日均线参数获得最高收益。程序中新增了`maCal`函数来计算移动平均线,提高了代码的可读性。最终,展示了收益点数前五的均线参数:20日、9日、34日、35日和41日。
摘要由CSDN通过智能技术生成

在上一节中我们讲述了简单的单移动平均线策略系统,看起来还是挺简单的,但是简单的代价就是不够智能,功能太少,如果要测试多条均线参数都要手工输入,现在我们就把它加以改进,增加一个自动寻找最佳均线的功能,有了这个功能,我们只要运行一次,就可以把各均线参数的收益率从高到底的输出,这样哪个参数最优就一目了然了,同样这个改进,我们还是按绝对收益率来进行排名,暂不考虑交易回撤。结果打印出收益率最高的五条均线参数。编程的实现过程我们在上一节的基础上加了一个大循环,这个循环就是用来遍历均线的,我们设定均线从2日到120日测试一遍。然后用DataFrame建立一个二维表,第一列”re”用来存放收益点数,第二列”ma”用来存放均线参数,运行结束的时候就是输出这个表格。为了让程序更容易理解,这次我们增加了一个maCal函数,这个函数的功能就是求移动平均线的均值的,有了这个函数后,程序看起来更清晰,更有层次感。测试的结果表明20日均线的收益点数最高,截取前5条输出记录如下

          re    ma

18   2894.44  20.0

7    2786.33   9.0

32   2518.90  34.0

33   2501.34  35.0

39   2394.43  41.0

其中第一列是原始索引,re列为收益点数,ma列为均线参数。

程序代码如下:

import pandas aspd

import xlrd

importmatplotlib.pyplot as plt

import numpy as np

def maCal(price,m): #求移动平均线的函数

    ma=pd.Ser
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值