楼主: spacegoing
4134 8

量化择时----Charles Li SVR1.2基于支持向量机 [推广有奖]

  • 0关注
  • 5粉丝

本科生

29%

还不是VIP/贵宾

-

威望
0
论坛币
592 个
通用积分
89.2562
学术水平
3 点
热心指数
4 点
信用等级
3 点
经验
984 点
帖子
65
精华
0
在线时间
93 小时
注册时间
2011-5-7
最后登录
2024-1-15

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
这是一个基于支持向量回归机建立的量化择时工具。为方便作为交易策略中择时工具使用,对1.1版本改善了函数句柄和算法。安装后直接使用SVR00函数即可。
本工具箱使用遗传算法对三参数进行寻优处理,适合用于金融产品等其他数据的预测问题。
发在数据挖掘板块,没人用,挺好的东西怎么就……转到本版来,希望有人关注吧。。。
支持向量机是基于小样本回归的神经网络,关于预测效果,不吹牛,我用沪深300作为训练集进行参数寻优、训练集回归。直接上图:




SVR文件夹包括三个部分:
Charles Li:
         SVR00为主函数;SVR001为归一化函数;SVR002为主成分降维函数;
         SVR03为遗传算法寻优函数;SVR04为SVR模型预测函数
GA: 设菲尔德大学开发的遗传算法工具箱
LibSVM:台湾林智仁先生开发的LivSVM工具箱
HuShen300Test.mat:
                 该文件保存的是沪深300指数从2012年到2013年3月的数据。其中
                 训练集为2012年到2013年2月,预测集为2013年2月到3月。选取
                 开盘价、最高价、最低价、成交金额、成交量为自变量,收盘价
                 为因变量,步长为5。文件用于测试使用。将SVR文件夹添加路径
                 后输入:
                 load 1.mat
                 [ptest,ptrain,model,cmd]=SVR00(Test_y,Test_x,Train_y,Train_x,1)
                 即可
SVRGenerator.m:
              该函数用来将倒入数据生成程序需要的格式。其中num1为训练集
              矩阵,num2为预测集矩阵,第一列保存因变量,其后任意列数保
              存任意数量的自变量;bc为步长。
              调用格式为:
              [Train_x,Train_y,Test_x,Test_y]=SVRGenerator(num1,num2,bc)
每个函数的使用说明详见对应的.m文件。
本工具箱借鉴了 libsvm-[farutoUltimate3.1]的部分内容,根据预测需求删改了部分内容,并对函数句柄加以优化,使之更加简洁易懂,更适合金融预测、数据挖掘使用。
辛辛苦苦开发的工具箱,为了方便大家便宜卖了,简直是贱卖啊。。。使用、引用还麻烦请注明Charles li SVR 1.0。
如有改进建议欢迎发邮件到spacegoing@gmail.com,由于最近较忙,回复若不及时敬请谅解.
Market Timing---Charles Li SVR1.2.zip (327.6 KB, 需要: 5 个论坛币)
二维码

扫码加我 拉你入群

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

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

关键词:Charles 支持向量机 量化择时 SVR ARL 函数 开发

已有 2 人评分经验 学术水平 热心指数 信用等级 收起 理由
accumulation + 100 + 1 + 1 + 1 精彩帖子
【童话】amao + 1 + 1 + 1 精彩帖子

总评分: 经验 + 100  学术水平 + 2  热心指数 + 2  信用等级 + 2   查看全部评分

本帖被以下文库推荐

沙发
spacegoing 发表于 2013-5-12 21:21:13 |只看作者 |坛友微信交流群
1.png
2.png
Sorry,刚刚图片没黏贴上……

使用道具

藤椅
xuruilong100 发表于 2013-5-13 10:00:02 |只看作者 |坛友微信交流群
局部数据变化不大时预测比较准, 大起大落时可以看到有明显的“相位差”,预测比实际值落后一步
用普通时间序列模型做的话, 不知道结果是不是差不多。
希望在画上两条线, 表示90%的置信区间,即理论是90%的可能性盖住实际值,如果你的90%置信区间比时间序列模型要“窄”,说明你的方法比较好, 如果差不多的话,还不如用时间序列模型,我感觉你的计算量比较大

使用道具

板凳
spacegoing 发表于 2013-5-13 16:56:52 |只看作者 |坛友微信交流群
xuruilong100 发表于 2013-5-13 10:00
局部数据变化不大时预测比较准, 大起大落时可以看到有明显的“相位差”,预测比实际值落后一步
用普通时间 ...
      非常感谢!我要需要向大家交代一下。例子中我使用开盘价、最高价、最低价、成交量对收盘价回归,人为设定滞后期为5、预测步长为5,并没有进行滞后期识别,训练集选择没有任何依据,仅仅是为了展示一下;另外,模型没有采用多步策略,而是通过历史数据直接训练一次得到模型,有大量的信息冗余。
    特别说明一下,我编写的SVMGenerator只能生成符合工具箱需要的数据格式,应付作业题是足够了,不过如果需要实战中应用,必须制定交易策略进行回测,自己另外编写一个能够识别趋势、滞后期、步长程序。因为支持向量机是小样本非线性预测,特别适合运用于多步直接策略,对基于趋势突破的交易策略非常适用。这里仅仅是给大家提供一个思路。
    至于您提到的问题。首先,因为工具箱中的支持向量回归机使用非线性方法,通过RBF核函数进行低维空间到高维的线性映射,也就是说默认沪深300是非线性的,因此没有给出置信区间。如果您需要与时间序列模型进行比较,可以使用均方误差等指标。
    关于计算复杂度的问题,由于我自身需要因此在SVR03.m函数中将最大遗传代数设置成了100,大家可以根据自己需要修改最大遗传代数提高速度。对于一般的股票数据20代是比较合适的。
    感谢您的回复,希望回答对您有所帮助。

使用道具

报纸
xuruilong100 发表于 2013-5-13 22:46:03 |只看作者 |坛友微信交流群
如果要比较的话我有一个方案,用一个时间序列模型模拟一组数据,然后用你的方法预测;然后再反过来做,用你的方法模拟一组数据,用时间序列模型预测。
其实我觉得股价也好,指数也好,相邻两点间的相对差别并不大,我可以告诉你两种数据,股票融资买入资金数和融券卖出股数,波动非常剧烈,你可以试一试你的方法预测的准不准
http://data.eastmoney.com/rzrq/sh.html

使用道具

地板
peekpeek20 发表于 2013-5-22 21:54:07 |只看作者 |坛友微信交流群
spacegoing 发表于 2013-5-12 21:21
Sorry,刚刚图片没黏贴上……
我下载了你的代码回家去慢慢研究,谢谢!

使用道具

7
【童话】amao 学生认证  发表于 2014-6-28 02:08:08 |只看作者 |坛友微信交流群
Good job。我对这领域很感兴趣,但是苦于没有金币,能烦劳发我一份学习吗?
amao92@163.com
大谢

使用道具

8
theandric 发表于 2014-8-6 08:50:09 |只看作者 |坛友微信交流群
额..... lz 不是我打击你, 你用机器学习的办法去做, 是可以的, 但是你这样做我不用看都知道是不可能有结果的.... 用回归的办法基本上只可能是把过去的价格按照一定的滞后平移

用分类可能还有一定的准确, 但是同样不可能解决历史滞后问题, 要不断地调整时间窗口, 滚动训练, 前期处理数据找到更好的训练集(不是像你这样一古脑塞进去), 小波或者pca, 找到更好的特征(像你这样用当天的K线数据....额, 中国市场有无效到这个程度么?)......

使用道具

9
xixia333 发表于 2021-2-7 11:57:05 |只看作者 |坛友微信交流群
非常感谢

使用道具

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

本版微信群
加好友,备注jr
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-20 07:28