全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
6202 13
2014-11-27
跪求各位大神指出可改进的方面
ps:小弟只会一些简单的函数操作,不知道从何可以改进,在此先谢过了
附上小弟整理的大宗商品相关性统计及手续费等资料
{:2_27:}{:2_27:}{:2_27:}{:2_27:}


程序思想
组合构造,小编从房地产相关的大宗商品中,选出4种相关性较高的商品,结合4种商品以及股指,算出一个指数,通过比较4种商品与所算出指数差价与前n分钟的差价变化,来选择性的买多2种卖空2种。ps (以绝对价格而不是回报,追求市场上更加明显的逻辑)


第一步 数据采集与处理小编从房地产相关的大宗商品中,选出4种商品(以处选择以经验及参考小编整理的所有商品相关性表),分别为 FG ,I ,J, RB (玻璃 铁矿石 焦煤 螺纹钢)从multicharts 导出其近一个多月的tick数据 ,再加上股指主力一个多月的历史数据,数据算是全有了。
1.png


得到5个csv文件。导入到matlab,如下图,均为n*1的向量


2.png


由于商品与股指交易时间不同以及很多商品tick数据的缺失,所以要进行数据的初步整理
方法如下,以股指的时间序列为标准,在时间向中把每秒中的第二个数据加上一个半秒的时间(这样区分每秒2个tick数据的差别),再将4种商品的时间序列对齐到股指的时间序列。
代码中timegap为半秒时间
3.png


为对齐函数,nFG nI nJ nRB 为各商品序列长度
newdata为最后生成的整理好的矩阵
4.png


处理得到如下数据(运算时间会要几分钟)
5.png






第二步 指标编制与交易信号
指标index=ratio*(股指/beta股指)+(1-ratio)*(FG/FG的beta+I/I的beta+J/J的beta+RB/RB的beta)
其中beta为由各商品波动率算得。


如下图 ratio为股指与商品之间的比例 gapFG gapI gapJ gapRB为商品与运算出的指数之间差值time1时间内的变动值 share为各商品需进出场手数(由波动率与商品合约价值算出) fee为手续费 。value 为该商品每点所代表价值

6.png




编制交易信号signal矩阵


如下图,由于商品数据缺失是由于当时tick没有发生交易所产生,而不是当时没有价格,故可以简单的以之前价格代替当前价格
signal矩阵中 1代表买 -1代表卖
timebegin 和 timeend为控制交易时间的变量
marketpos为中间参数 运算时需要不断判断当前某商品是否已经持仓
7.png






signal(i,9)时间控制
判断中的条件分别是 是否已经持有多单 是否满足>gap的条件 是否为同一天
8.png


中间挂单成交测算(非必须)


10.png






9.png


最后计算


11.png


本例中还未进行一些参数的优化,因为花费时间会有点长


附件中包含所有数据以及代码
tickdata为原始数据
tickdata2为初步处理后的数据
newest为第一步数据处理
newest2为主函数
test为挂单测算


程序代码.rar
大小:(26 MB)

 马上下载


相关性统计等.rar
大小:(53.95 KB)

 马上下载










二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2014-11-27 12:25:16
有些计算是不必要的 但从大框架上我自己感觉有点怪 ,但说不出来哪里怪
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-11-27 12:30:08
又要沉了的感觉
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-11-27 12:33:20
蛋碎了无痕~
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-11-27 12:37:42
可惜我等级不够顶不了贴,还是要先升到学科带头人。。{:2_27:}{:2_27:}
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-11-27 13:21:06
支持一下。。。。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群