找回密码
 注册
搜索
楼主: Quantum

[原创] 整个小东西给大家一笑:预测第二天的high和low

[复制链接]
发表于 2008-8-2 10:46 AM | 显示全部楼层


原帖由 Quantum 于 2008-8-2 11:17 发表 看过我在7楼post的Tom DeMark算法,就会发现他用今天的Open, High, Low, and Close的线性组合来预测第二天的high和low。那么一个很自然的推广就是,用当天的[O, H, L, C],平方项[O^2, H^2, L^2, C^2], 以及更高项, ...


我刚才再仔细看了看它的预测,发现这个方法其实有个问题就是比较容易 miss 那些第二天的大涨或者大跌。你有没有算过它和 moving average 之间的差别?

回复 鲜花 鸡蛋

使用道具 举报

 楼主| 发表于 2008-8-2 10:56 AM | 显示全部楼层

我也注意到了

我现在的方法是用一年的数据优化参数,然后预测三个月。其实更好的做法是比如说用三个月的数据优化参数,然后预测一周,同时滚动优化参数(每过一周优化一次参数)。但是因为Amibroker没有矩阵求逆的函数,我也就懒得测试了,因为我也只是玩一下,并没有很认真想做这个东东。







回复 鲜花 鸡蛋

使用道具 举报

 楼主| 发表于 2008-8-2 11:03 AM | 显示全部楼层

我在他基础上优化过参数了

比如说,他的算法在C>O的时候,预测high就是

0*O+1*H-0.5*L+0.5*C

那么一个一般的表达式就是


a1*Open+b1*High+c1*Low+d1*Close + a2*Open^2+b2*High^2+c2*Low^2+d2*Close^ + ...

来预测第二天的high。矩阵的表达就是

[Open High Low Close Open^2 High^2 Low^2 Close^2]*[a1 b1 c1 d1 a2 b2 c2 d2]^T = Tomorrow's High

所以

[a1 b1 c1 d1 a2 b2 c2 d2]^T = inverse([Open High Low Close Open^2 High^2 Low^2 Close^2])* Tomorrow's High



另一个可以用的方法是多项式插值逼近然后外推用来预测,那就完全是时间序列的问题了。

原帖由 xiaobailong 于 2008-8-2 11:45 发表 你是不是说,在一楼的图算法和七楼的算法并不完全一致?least square的polynomial approximation的算法是怎么样的呢?
[ 本帖最后由 Quantum 于 2008-8-2 12:09 编辑 ]
回复 鲜花 鸡蛋

使用道具 举报

 楼主| 发表于 2008-8-2 11:05 AM | 显示全部楼层

要是用amibroker的话,AFL在这里

DN=DateNum();
Hhat=(C>O)*(0.2837*O-0.1041*H-0.4945*L+1.3133*C)+(C<O)*(-0.4458*O+0.8023*H-0.0483*L+0.6975*C);
Lhat=(C>O)*(-0.1878*O-0.3334*H+0.1530*L+1.3568*C)+(C<O)*(-0.5272*O+0.5208*H+0.4397*L+0.5622*C);

Htom=(C>O)*(0*O+1*H-0.5*L+0.5*C)+(C<O)*(0*O+0.5*H+0*L+0.5*C);
Ltom=(C>O)*(0*O+0*H+0.5*L+0.5*C)+(C<O)*(0*O-0.5*H+1*L+0.5*C);


Hhat=(DN>1080531)*Ref(Hhat,1);
Lhat=(DN>1080531)*Ref(Lhat, 1);
Htom=(DN>1080531)*Ref(Htom,1);
Ltom=(DN>1080531)*Ref(Ltom, 1);

plot(Hhat, "Hhat", colorred, styledots | styleline);
plot(Lhat, "Lhat", colorred, styledots | styleline);

//plot(Htom, "Htom", colorgreen, styledots | styleline);
//plot(Ltom, "Ltom", colorgreen, styledots | styleline);
回复 鲜花 鸡蛋

使用道具 举报

发表于 2008-8-2 11:15 AM | 显示全部楼层
原帖由 Quantum 于 2008-8-2 12:03 发表 比如说,他的算法在C>O的时候,预测high就是0*O+1*H-0.5*L+0.5*C那么一个一般的表达式就是a1*Open+b1*High+c1*Low+d1*Close + a2*Open^2+b2*High^2+c2*Low^2+d2*Close^ + ...来预测第二天的high。矩阵的表达就是[Ope ...


还挺复杂的呢。我觉得这个图很有意思,那么根据这个算法,算出来周一的high low都是多少呢?
回复 鲜花 鸡蛋

使用道具 举报

发表于 2008-8-2 11:19 AM | 显示全部楼层
Thanks for sharing, studying....
回复 鲜花 鸡蛋

使用道具 举报

 楼主| 发表于 2008-8-2 11:27 AM | 显示全部楼层

回复 25# xiaobailong 的帖子

[ 112.52, 114.36]
回复 鲜花 鸡蛋

使用道具 举报

发表于 2008-8-2 11:30 AM | 显示全部楼层
我做过统计。有用,而且可以赚钱

原帖由 Brainteaser 于 2008-8-2 02:28 发表 还要考虑预测的变动幅度. 幅度太小money manage 再好也没有用.
回复 鲜花 鸡蛋

使用道具 举报

发表于 2008-8-2 12:42 PM | 显示全部楼层
原帖由 Quantum 于 2008-8-2 11:56 发表 我现在的方法是用一年的数据优化参数,然后预测三个月。其实更好的做法是比如说用三个月的数据优化参数,然后预测一周,同时滚动优化参数(每过一周优化一次参数)。但是因为Amibroker没有矩阵求逆的函数,我也就懒得 ...


I see. Thanks a lot!  

回复 鲜花 鸡蛋

使用道具 举报

发表于 2008-8-2 01:46 PM | 显示全部楼层
原帖由 Quantum 于 2008-8-2 08:27 发表 [ 112.52, 114.36]


暴跌100点?笔误?
回复 鲜花 鸡蛋

使用道具 举报

发表于 2008-8-2 01:54 PM | 显示全部楼层
Hhat/Lhat 是优化结果 Htom/Ltom是原来算法的结果?
回复 鲜花 鸡蛋

使用道具 举报

 楼主| 发表于 2008-8-2 02:04 PM | 显示全部楼层

回复 30# lovelyguoguo 的帖子

Sorry, was looking at DIA instead of SPX.

[1252.59, 1271.94]

Hhat and Lhat are my calculation, whereas Htom and Ltom are Tom DeMark's algorithm.


Very important thing to notice:

Should price open outside the projected range -- above the projected high or below the projected low -- the supply-demand balance has shifted significantly enough to imply that
the short-term price trend will continue in the direction of the opening breakout.
回复 鲜花 鸡蛋

使用道具 举报

发表于 2008-8-2 02:16 PM | 显示全部楼层
仔细看了看,1楼的图错位了吧,Hhat/Lhat应该plot到下一天,[1252.59, 1271.94] 是8月4日的预测的高低,不是8月1日。能重新生成一个吗?
回复 鲜花 鸡蛋

使用道具 举报

发表于 2008-8-2 02:45 PM | 显示全部楼层

用excel 算的

用了24楼的公式,怎么算出来的和一楼的结果不一样?


Open High Low Close Hhat Lhat
5/30/2008 1398.4 1404.5 1398.1 1400.4 x x
6/2/2008 1399.6 1399.6 1377.8 1385.7 1398.3 1383.1
6/3/2008 1386.4 1393.1 1370.1 1377.7 1398.9 1375.9
6/4/2008 1376.3 1388.2 1371.7 1377.2 1394.4 1371.6
6/5/2008 1377.5 1404.1 1377.5 1404.1 1376.3 1357.2
6/6/2008 1400.1 1400.1 1359.9 1360.7 1407.4 1389.0
6/9/2008 1360.8 1370.6 1350.6 1361.8 1382.5 1354.0
6/10/2008 1359.0 1366.8 1351.6 1358.4 1363.9 1341.7
6/11/2008 1357.1 1357.1 1335.5 1335.5 1373.0 1353.4
6/12/2008 1335.8 1353.0 1331.3 1339.9 1350.8 1329.3
6/13/2008 1341.8 1360.0 1341.7 1360.0 1339.4 1319.7
6/16/2008 1358.9 1364.7 1352.1 1360.1 1361.7 1345.1
6/17/2008 1360.7 1366.6 1350.5 1350.9 1361.1 1342.1
6/18/2008 1349.6 1349.6 1333.4 1337.8 1366.9 1347.7
6/19/2008 1336.9 1347.7 1330.5 1342.8 1349.8 1329.8
6/20/2008 1341.0 1341.0 1314.5 1317.9 1344.6 1325.1
6/23/2008 1319.8 1323.8 1315.3 1318.0 1333.8 1310.3
6/24/2008 1317.2 1326.0 1304.4 1314.3 1329.5 1313.0
6/25/2008 1314.5 1335.6 1314.5 1322.0 1330.4 1308.6
6/26/2008 1316.3 1316.3 1283.2 1283.2 1320.0 1302.6
6/27/2008 1283.6 1289.5 1272.0 1278.4 1302.3 1277.2
6/30/2008 1278.1 1290.3 1274.9 1280.0 1292.5 1272.8
7/1/2008 1276.7 1285.3 1260.7 1284.9 1278.9 1261.5
7/2/2008 1285.8 1292.2 1261.5 1261.5 1292.5 1268.0
7/3/2008 1263.0 1271.5 1252.0 1262.9 1282.5 1259.0
7/7/2008 1262.9 1274.0 1240.7 1252.3 1277.5 1256.9
7/8/2008 1251.8 1274.2 1242.8 1273.7 1272.7 1247.2
7/9/2008 1273.4 1277.4 1244.6 1244.7 1280.7 1258.4
7/10/2008 1245.3 1257.7 1236.8 1253.4 1265.2 1240.9
7/11/2008 1248.7 1257.3 1225.4 1239.5 1256.9 1236.7
7/14/2008 1241.6 1253.5 1225.0 1228.3 1257.4 1232.1
7/15/2008 1226.8 1234.4 1200.4 1214.9 1249.7 1227.4
7/16/2008 1214.7 1245.5 1211.4 1245.4 1232.8 1206.9
7/17/2008 1246.3 1262.3 1241.5 1260.3 1251.4 1231.7
7/18/2008 1258.2 1262.2 1251.8 1260.7 1263.4 1245.0
7/21/2008 1261.8 1267.7 1255.7 1260.0 1262.2 1244.9
7/22/2008 1257.1 1277.4 1248.8 1277.0 1272.8 1255.5
7/23/2008 1278.9 1291.2 1276.1 1282.2 1283.2 1261.7
7/24/2008 1283.2 1283.2 1251.5 1252.5 1281.3 1264.3
7/25/2008 1253.5 1263.2 1251.8 1257.8 1270.7 1246.2
7/28/2008 1257.8 1260.1 1234.4 1234.4 1256.9 1241.5
7/29/2008 1236.4 1263.2 1236.4 1263.2 1251.6 1229.9
7/30/2008 1264.5 1284.3 1264.5 1284.3 1266.8 1249.7
7/31/2008 1281.4 1284.9 1266.0 1267.4 1286.4 1270.3
8/1/2008 1269.4 1270.5 1254.5 1260.3 1282.5 1262.8
8/4/2008



1271.9 1252.6

[ 本帖最后由 lovelyguoguo 于 2008-8-2 11:47 编辑 ]
回复 鲜花 鸡蛋

使用道具 举报

 楼主| 发表于 2008-8-2 02:54 PM | 显示全部楼层

谢谢指正,你说的对,

移位弄反了。太不应该了,严重道歉。

8月4日的预测我在图上画不出来(应该也可以画,不过一时没时间弄)。

正确的程序如下:

DN=DateNum();
Hhat=(C>O)*(0.2837*O-0.1041*H-0.4945*L+1.3133*C)+(C<O)*(-0.4458*O+0.8023*H-0.0483*L+0.6975*C);
Lhat=(C>O)*(-0.1878*O-0.3334*H+0.1530*L+1.3568*C)+(C<O)*(-0.5272*O+0.5208*H+0.4397*L+0.5622*C);

Hhat=(DN>1080531)*Ref(Hhat,-1);
Lhat=(DN>1080531)*Ref(Lhat, -1);
plot(Hhat, "Hhat", colorred, styledots | styleline);
plot(Lhat, "Lhat", colorred, styledots | styleline);





原帖由 lovelyguoguo 于 2008-8-2 15:16 发表 仔细看了看,1楼的图错位了吧,Hhat/Lhat应该plot到下一天,[1252.59, 1271.94] 是8月4日的预测的高低,不是8月1日。能重新生成一个吗?
[ 本帖最后由 Quantum 于 2008-8-2 16:00 编辑 ]
1.jpg
回复 鲜花 鸡蛋

使用道具 举报

发表于 2008-8-2 04:08 PM | 显示全部楼层
回复 鲜花 鸡蛋

使用道具 举报

发表于 2008-8-2 06:09 PM | 显示全部楼层

回复 19# Quantum 的帖子

Quantum, thank you for all inputs here. How about cross term like: Open * High or Close * Low
回复 鲜花 鸡蛋

使用道具 举报

 楼主| 发表于 2008-8-2 08:55 PM | 显示全部楼层

Due to high correlations between daily OHLC

I think probably the cross terms are not necessary.


原帖由 littletiger 于 2008-8-2 19:09 发表 Quantum, thank you for all inputs here. How about cross term like: Open * High or Close * Low
回复 鲜花 鸡蛋

使用道具 举报

发表于 2008-8-3 04:19 AM | 显示全部楼层

回复 35# Quantum 的帖子

大师, 能不能share一下excel写的公式呀? 小pooh对software实在一窍不通, 汗。。。 只能用excel, 谢谢!
回复 鲜花 鸡蛋

使用道具 举报

发表于 2008-8-3 04:24 AM | 显示全部楼层
看了这个图,咱来个小白大盘猜想: 周一涨。
回复 鲜花 鸡蛋

使用道具 举报

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

本版积分规则

手机版|小黑屋|www.hutong9.net

GMT-5, 2024-4-16 01:09 AM , Processed in 0.063554 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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