搜索
楼主: goodisme

如何进行指标仿真交易和高频数据回测

[复制链接]
发表于 2010-11-25 10:47 | 显示全部楼层

如何进行指标仿真交易和高频数据回测

来自:MACD论坛(bbs.macd.cn) 作者:goodisme 浏览:290641 回复:15

我开发了一个针对股票、期货及期现套利的程序化交易程序,支持用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[dataNumber[1]]
    local issueCode = data1.IssueCode
if not _QuantityTable[issueCode] then
        return
    end
local qty = _QuantityTable[issueCode]
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[evalIndex] = diff
--DEA:EMA(DIFF,M)
local dea = XAverage(indi.Dea,evalIndex,indi.MACDDiff,spM)
indi.MACDDea[evalIndex] = dea
--MACD: 2*(DIFF-DEA)
local macd = 2 * (diff - dea)
indi.MACD[evalIndex] = macd

if diff then
  _Ind1[issueCode] = sys_format("%.02f", diff)
end
if dea then
  _Ind2[issueCode] = sys_format("%.02f", dea)
end
if macd then
  _Ind3[issueCode] = sys_format("%.02f", macd)
end

if indi.MACD[evalIndex - 1] < 0 and indi.MACD[evalIndex] > 0 and _SubmitOrderFlag then--买入:MACD绿翻红(负转正)
  if GetLongQty(issueCode) == 0 then
   EnterLong(issueCode, "", "Ask", "tic", 0, qty, "买进")
  end
  return
end
if indi.MACD[evalIndex - 1] > 0 and indi.MACD[evalIndex] < 0 and _SubmitOrderFlag then--卖出:MACD红翻绿(正转负)
  if GetAvailableLongQty(issueCode) > 0 and evalIndex > _BuyBar[issueCode]  then
   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 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
金币:
奖励:
热心:
注册时间:
2008-3-4

回复 使用道具 举报

 楼主| 发表于 2010-11-25 11:06 | 显示全部楼层

补充说明

交易系统的好坏,数据是否精确,对策略的买卖点有较大影响,一般来说,回测的数据越精确,买卖点就越接近真实交易。
金币:
奖励:
热心:
注册时间:
2008-3-4

回复 使用道具 举报

 楼主| 发表于 2010-11-25 13:32 | 显示全部楼层
其实做策略交易的人常常都有很多感悟,不管是波段、中长趋势、日内交易、价值投资中哪一种,理性的分析方法都是不可或缺的,虽然我们都知道中国的证券市场是各种理论都无效的市场,但是,没有理性的分析,我们就会一直在黑暗中摸索,恐惧就会一直伴随着我们。
金币:
奖励:
热心:
注册时间:
2008-3-4

回复 使用道具 举报

发表于 2010-11-25 13:48 | 显示全部楼层
#*29*# #*29*#
传说中的金融工程??程序化交易?
金币:
奖励:
热心:
注册时间:
2010-11-25

回复 使用道具 举报

 楼主| 发表于 2010-11-25 17:09 | 显示全部楼层

进一步的想法

欢迎坛友对指标的数据回测提出宝贵想法,我如果把策略测试功能放到网站上,不知大家觉得如何?
举例如下:
1、提供指标(单个或多个组合)具体代码和参数说明。(MACD、RSI等等)
2、在网页上可以根据自己的研究调整指标的测试参数,并保存成模板。
3、选择测试周期,品种,时间段,提交测试请求。
4、后台系统返回上面样式的测试报告。
金币:
奖励:
热心:
注册时间:
2008-3-4

回复 使用道具 举报

发表于 2010-11-29 15:55 | 显示全部楼层
支持一下楼主!
             顶顶顶顶顶顶顶顶顶顶顶。。。。。。。。。!!!!!!!!!!!!!!!!!!!!!












-----------------------------------------------------------------------------------------
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
金币:
奖励:
热心:
注册时间:
2010-11-16

回复 使用道具 举报

发表于 2010-11-30 10:25 | 显示全部楼层
看了MACD股市技术分析俱乐部里面一帖子,关于进行指标交易和高频数据回测,利用程序化交易用LUA语言编写的可以支持10几个策略,比如某些策略MACD、布林带区间突破、单均线这些我能基于理论上的了解,如果运用到实践还真不知道怎么操作。还有里面写的一个MACD交易策略的核心函数虽然语言不会编写,还是能看懂一些买点和卖点的语言,以及下单语言。
如果我自己有一个简单的交易想法,我想也能用语言来实现,能否赢利,就涉及到策略回测,里面有一个回测报告,看了确实有心动的感觉,如果我能把自己的交易思想编程后利用历史数据回测一下,或许能带来不少的收获。而且这个支持的工具品种还真的很齐全,股票、商品期货、ETF、股指期货,我想真的不失为一个好的工具,不管是做程序化交易的,还是搞金融工程研究的,还是机构投资的都可以拿来做演示以及交易,如果这个工具能作为一种从事金融的典范工具那或许真的是未来金融业发展的一个好的平台。
金币:
奖励:
热心:
注册时间:
2010-11-30

回复 使用道具 举报

发表于 2010-11-30 10:25 | 显示全部楼层
看了MACD股市技术分析俱乐部里面一帖子,关于进行指标交易和高频数据回测,利用程序化交易用LUA语言编写的可以支持10几个策略,比如某些策略MACD、布林带区间突破、单均线这些我能基于理论上的了解,如果运用到实践还真不知道怎么操作。还有里面写的一个MACD交易策略的核心函数虽然语言不会编写,还是能看懂一些买点和卖点的语言,以及下单语言。
如果我自己有一个简单的交易想法,我想也能用语言来实现,能否赢利,就涉及到策略回测,里面有一个回测报告,看了确实有心动的感觉,如果我能把自己的交易思想编程后利用历史数据回测一下,或许能带来不少的收获。而且这个支持的工具品种还真的很齐全,股票、商品期货、ETF、股指期货,我想真的不失为一个好的工具,不管是做程序化交易的,还是搞金融工程研究的,还是机构投资的都可以拿来做演示以及交易,如果这个工具能作为一种从事金融的典范工具那或许真的是未来金融业发展的一个好的平台。
金币:
奖励:
热心:
注册时间:
2010-11-30

回复 使用道具 举报

发表于 2010-12-2 00:11 | 显示全部楼层
能不能按我的想法,改造一下你的布林带区间突破交易策略,再帮我回测一下?
#*26*# #*26*# #*26*#
要钱吗?
金币:
奖励:
热心:
注册时间:
2010-11-25

回复 使用道具 举报

 楼主| 发表于 2010-12-3 13:50 | 显示全部楼层

回复 #16 testidea 的帖子

不好意思,最近一直在整理数据,刚看到。可以,您加我的QQ吧#*22*#
金币:
奖励:
热心:
注册时间:
2008-3-4

回复 使用道具 举报

发表于 2011-1-4 11:06 | 显示全部楼层
挖!!!怎么那么多点击量#*31*# #*31*# #*31*# #*d1*#
金币:
奖励:
热心:
注册时间:
2010-11-25

回复 使用道具 举报

发表于 2011-1-4 14:45 | 显示全部楼层
这个貌似非常强大的指标啊
金币:
奖励:
热心:
注册时间:
2011-1-4

回复 使用道具 举报

发表于 2011-2-9 15:56 | 显示全部楼层
回上去
金币:
奖励:
热心:
注册时间:
2010-11-25

回复 使用道具 举报

发表于 2012-1-4 15:28 | 显示全部楼层
哇,这个帖子还在#*29*#
金币:
奖励:
热心:
注册时间:
2010-11-25

回复 使用道具 举报

发表于 2012-4-19 10:16 | 显示全部楼层
#*29*#
金币:
奖励:
热心:
注册时间:
2012-4-11

回复 使用道具 举报

签到天数: 50 天

发表于 2013-7-14 13:26 | 显示全部楼层
支持楼主
金币:
奖励:
热心:
注册时间:
2013-7-12

回复 使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

本站声明:1、本站所有广告均与MACD无关;2、MACD仅提供交流平台,网友发布信息非MACD观点与意思表达,因网友发布的信息造成任何后果,均与MACD无关。
MACD俱乐部(1997-2019)官方域名:macd.cn   MACD网校(2006-2019)官方域名:macdwx.com
值班热线[9:00—17:30]:18292674919   24小时网站应急电话:18292674919
找回密码、投诉QQ:89918815 友情链接QQ:95008905 广告商务联系QQ:17017506 电话:18292674919
增值电信业务经营许可证: 陕ICP19026207号—2  陕ICP备20004035号

举报|意见反馈|Archiver|手机版|小黑屋|MACD俱乐部 ( 陕ICP备20004035号 )

GMT+8, 2024-4-25 08:52 , Processed in 0.084252 second(s), 10 queries , Redis On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表