如何进行指标仿真交易和高频数据回测
我开发了一个针对股票、期货及期现套利的程序化交易程序,支持用Lua脚本语言进行策略编写,现在支持10几个策略,包括:MACD、CCI、OBV、RSI、SRV、单均线、双均线、克罗均线、海龟交易、网格交易、布林带区间突破、布林带震荡突破、时间价格突破等1、MACD交易策略的核心函数
--策略逻辑从这里开始
function AutoTrade(indi, evalIndex, data, dataNumber,arg)
_IsDayTrade = false
_CloseTime = 145500
_AutoCancel = true
_IsCheckQuantity = true
-- the only time series data used in this indicator
local data1 = data]
local issueCode = data1.IssueCode
if not _QuantityTable then
return
end
local qty = _QuantityTable
indi.FastMA = indi.FastMA or {}--迭代计算快速MA用
indi.SlowMA = indi.SlowMA or {}--迭代计算慢速MA用
indi.Dea = indi.Dea or {}--迭代计算DEA用
indi.MACDDiff = indi.MACDDiff or {}--保存DIFF值用
indi.MACDDea = indi.MACDDea or {}--保存DEA值用
indi.MACD = indi.MACD or {}--保存MACD值用
--DIFF:EMA(CLOSE,SHORT) - EMA(CLOSE,LONG)
local diff = XAverage(indi.FastMA,evalIndex,data1.Close,spShort) - XAverage(indi.SlowMA,evalIndex,data1.Close,spLong)
indi.MACDDiff = diff
--DEA:EMA(DIFF,M)
local dea = XAverage(indi.Dea,evalIndex,indi.MACDDiff,spM)
indi.MACDDea = dea
--MACD: 2*(DIFF-DEA)
local macd = 2 * (diff - dea)
indi.MACD = macd
if diff then
_Ind1 = sys_format("%.02f", diff)
end
if dea then
_Ind2 = sys_format("%.02f", dea)
end
if macd then
_Ind3 = sys_format("%.02f", macd)
end
if indi.MACD < 0 and indi.MACD > 0 and _SubmitOrderFlag then--买入:MACD绿翻红(负转正)
if GetLongQty(issueCode) == 0 then
EnterLong(issueCode, "", "Ask", "tic", 0, qty, "买进")
end
return
end
if indi.MACD > 0 and indi.MACD < 0 and _SubmitOrderFlag then--卖出:MACD红翻绿(正转负)
if GetAvailableLongQty(issueCode) > 0 and evalIndex > _BuyBarthen
ExitLong(issueCode, "", "Bid", "tic", 0, GetAvailableLongQty(issueCode), "卖出")
end
return
end
end
2、MACD交易策略的启动参数
_DefineStrategyParameters
_String spBAMapID = "701-D-001" //系统账户
_String spPeriodType = "d" //d 日线,m 分钟线
_String spPeriodCount = "1" //周期
_Number spDateBack = 25 // 向前追溯周期
_Number spInitFund = 100000 //账户资金
_String spMode = "A"--A:自动下单,M:手动下单
_Number spShort = 12
_Number spLong = 26
_Number spM = 9
_End
3、这策略用11月1日~3日的1分钟k线的回测结果如下,品种是IF1011,参数设置回测报告里面有的
我可以帮助大家提供指标参数设置回测分析,并提供交易结果报表,数据周期是2009.10~2010.11,包括所有的股票、ETF、商品期货、股指期货的高频数据。有兴趣的可以联系我:
QQ:94544200, msn:xc_wyn@hotmail.com
喜欢程序化交易,算法交易,金融工程的朋友,大家也可以做些交流,毕竟这是中国金融业发展趋势。
附件1:布林带区间突破交易策略的回测界面,测试数据为600000,时间为11月1日到11月25日,周期为1M K线。
布林带区间突破交易策略的回测报告
附件2:布林带振荡突破交易策略的回测界面,测试数据为600585,时间为11月1日到11月25日,周期为1M k线。
布林带振荡突破交易策略的回测报告如下:
附件3:双均线交易策略的回测界面,测试数据为600000,测试区间为11月1日到11月25日,周期为1M k线。
双均线交易策略的回测报告如下:
附件4:用于回测的高频数据格式如下:
期货
fu1103,4,4513,2,100616, ,2010/07/05 10:04:03.516,4513.000000,1,4484.000000,1,,,,,,,,,,,,,,,,,264.000000
IF1007,3,2510.2,2,100616, ,2010/07/05 10:04:03.559,2510.200000,6,2510.000000,11,,,,,,,,,,,,,,,,,27726.000000
SR1101,5,4915,16,100038, ,2010/07/05 10:04:03.568,4916.000000,50,4915.000000,901,,,,,,,,,,,,,,,,,679638.000000
指数
M000300,1,2500.095,14545,100607, ,2010/07/05 10:04:03.550,,,,,,,,,,,,,,,,,,,,,
深圳股票
000021,2,10.4,1000,100608, ,2010/07/05 10:04:03.735,10.390000,500,10.380000,6400,10.400000,23200,10.370000,11264,10.420000,3700,10.350000,2781,,,,,,,,,
000029,2,4.42,2400,100608, ,2010/07/05 10:04:03.739,4.450000,2300,4.420000,24600,4.460000,10100,4.410000,13500,4.470000,15900,4.400000,45600,4.480000,15200,4.390000,45102,4.490000,10900,4.380000,29300,
上海股票
600528,1,7.91,1000,101152, ,2010/07/05 10:09:46.870,7.910000,54400,7.900000,9707,7.920000,35300,7.890000,25400,7.930000,8700,7.880000,41865,,,,,,,,,
600530,1,7.79,100,101152, ,2010/07/05 10:09:46.874,7.790000,9143,7.780000,6600,,,,,,,,,,,,,,,,,
[ 本帖最后由 goodisme 于 2010-11-25 16:47 编辑 ]
补充说明
交易系统的好坏,数据是否精确,对策略的买卖点有较大影响,一般来说,回测的数据越精确,买卖点就越接近真实交易。 其实做策略交易的人常常都有很多感悟,不管是波段、中长趋势、日内交易、价值投资中哪一种,理性的分析方法都是不可或缺的,虽然我们都知道中国的证券市场是各种理论都无效的市场,但是,没有理性的分析,我们就会一直在黑暗中摸索,恐惧就会一直伴随着我们。 #*29*# #*29*#传说中的金融工程??程序化交易?
进一步的想法
欢迎坛友对指标的数据回测提出宝贵想法,我如果把策略测试功能放到网站上,不知大家觉得如何?举例如下:
1、提供指标(单个或多个组合)具体代码和参数说明。(MACD、RSI等等)
2、在网页上可以根据自己的研究调整指标的测试参数,并保存成模板。
3、选择测试周期,品种,时间段,提交测试请求。
4、后台系统返回上面样式的测试报告。 支持一下楼主!
顶顶顶顶顶顶顶顶顶顶顶。。。。。。。。。!!!!!!!!!!!!!!!!!!!!!
-----------------------------------------------------------------------------------------
Early to bed, early to rise, make a man healthy, wealthy, and wise. ugg cardy ugg Tall ugg short ugg Mini UGG Bailey Button Triplet 看了MACD股市技术分析俱乐部里面一帖子,关于进行指标交易和高频数据回测,利用程序化交易用LUA语言编写的可以支持10几个策略,比如某些策略MACD、布林带区间突破、单均线这些我能基于理论上的了解,如果运用到实践还真不知道怎么操作。还有里面写的一个MACD交易策略的核心函数虽然语言不会编写,还是能看懂一些买点和卖点的语言,以及下单语言。
如果我自己有一个简单的交易想法,我想也能用语言来实现,能否赢利,就涉及到策略回测,里面有一个回测报告,看了确实有心动的感觉,如果我能把自己的交易思想编程后利用历史数据回测一下,或许能带来不少的收获。而且这个支持的工具品种还真的很齐全,股票、商品期货、ETF、股指期货,我想真的不失为一个好的工具,不管是做程序化交易的,还是搞金融工程研究的,还是机构投资的都可以拿来做演示以及交易,如果这个工具能作为一种从事金融的典范工具那或许真的是未来金融业发展的一个好的平台。 看了MACD股市技术分析俱乐部里面一帖子,关于进行指标交易和高频数据回测,利用程序化交易用LUA语言编写的可以支持10几个策略,比如某些策略MACD、布林带区间突破、单均线这些我能基于理论上的了解,如果运用到实践还真不知道怎么操作。还有里面写的一个MACD交易策略的核心函数虽然语言不会编写,还是能看懂一些买点和卖点的语言,以及下单语言。
如果我自己有一个简单的交易想法,我想也能用语言来实现,能否赢利,就涉及到策略回测,里面有一个回测报告,看了确实有心动的感觉,如果我能把自己的交易思想编程后利用历史数据回测一下,或许能带来不少的收获。而且这个支持的工具品种还真的很齐全,股票、商品期货、ETF、股指期货,我想真的不失为一个好的工具,不管是做程序化交易的,还是搞金融工程研究的,还是机构投资的都可以拿来做演示以及交易,如果这个工具能作为一种从事金融的典范工具那或许真的是未来金融业发展的一个好的平台。 能不能按我的想法,改造一下你的布林带区间突破交易策略,再帮我回测一下?
#*26*# #*26*# #*26*#
要钱吗?
回复 #16 testidea 的帖子
不好意思,最近一直在整理数据,刚看到。可以,您加我的QQ吧#*22*# 挖!!!怎么那么多点击量#*31*# #*31*# #*31*# #*d1*# 这个貌似非常强大的指标啊 回上去 哇,这个帖子还在#*29*# #*29*# 支持楼主
页:
[1]