上一节中讲了单均线系统最优参数的寻找,这一节我们开讲双均线系统,在编程设计上,双均线系统相对于单均线系统来说多了一个均线循环,在短期均线循环里面再嵌套一个长期均线循环,其它方面和单均线系统变化不大,由于嵌套了一个循环,程序运算量大增,运行时间随着均线参数的增大而大大延长,所以本程序在设置的时候是把均线设计在4-40之间。有兴趣的朋友也可以自己修改参数,增加均线的数量,本文运行结果截取前五条记录,结果如下:
re sma lma
456 3092.20 20.0 21.0
187 2682.15 9.0 27.0
476 2593.25 21.0 22.0
435 2549.35 19.0 20.0
158 2545.83 8.0 29.0
最优的是20和21日均线,这和单均线策略系统的结果差不多,两者的收益点数都是第一,而且收益点数相差也不是太大,这说明从日线上来看,沪深300指数用20日均线来判断趋势行情比较有利。
下面是完整的程序代码:
import pandas aspd
import xlrd
import matplotlib.pyplotas plt
import numpy as np
def maCal(price,m): #求移动平均线的函数
ma=pd.Series(0.0,index=list(price))
for i in range(m-1,len(col)):
ma[i]=sum(col[(i-m+1):(i+1)])/m
return(ma)
xls =xlrd.open_workboo