设为首页收藏本站

『外汇堂』·专业外汇论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 16108|回复: 24
打印 上一主题 下一主题

[其他] Dukascopy数据下载协作召集

[复制链接]
跳转到指定楼层
1#
发表于 2009-2-10 16:04:12 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
一个朋友提到Dukascopy的历史数据数据质量比较好,而且可以作为IB,MB Trading这样的ECN外汇的历史数据的有益补充。但是dukascopy提供的免费数据的下载方式实在是麻烦,而且大家也往往没有那个精力浪费在这上面。

Dukascopy外汇历史数据:
http://www.dukascopy.com/plugins/feed_browser/feed.swf

所以我用automate做了个脚本,来自动下载历史数据。但是一两个人的速度还是有限。所以,希望广大大侠、小侠、潜水员同志有对这个历史数据感兴趣的一起参与进来。

建议使用虚拟机以不耽误正常工作,需要以下工具(所有工具我都可以提供):
1、Automate
2、虚拟机
3、有需要的话我提供精简版的操作系统

大概的效率是这样的,所有数据,每个品种每个月的数据需要的时间是半个小时,一口气一年是6个小时。期间不用任何人为操作,是自动化采集存储。对于采集失败或者不存在的数据,自动记录日志,方便缺失文件查找以及汇总后向Dukascopy报告,要求其进行补充。

有兴趣的请以申领任务的方式报告自己要负责的月份或者年份。对于全部下载后的数据,因为是分文件夹的,打包后由我来处理,之后把整个历史数据再进行发放。对于以后的更新数据,用脚本自己就可以采集了,所以此次合作是一次性合作。

对于共享的问题,请版主把本贴设置个投票,由参与者投票决定是否对外共享。

谢谢!

-------------------------------------
2009.02.11更新

2003-2005 AUDJPY已经完成
数据大小大概为每年350M-400M
请已经参与的同志发邮件或者跟贴告知完成进度。谢谢!

相关文件工具及说明下载:

dukascopy.rar项目文件 435k
dukascopy.rar

VMware.rar虚拟机  51M
VMware.rar

AutoMate6.2.8 21M
Automation.AutoMate.Enterprise.Edition.v6.2.8.0.Incl.KeyMaker-DVT.rar

dukascopy下载代码 22k
dukascopy下载IE窗口改良.aml


-------------------------------------
2009.02.12更新

上面的全部作废,过时了。
请熟悉java代码的大侠帮忙(反编译还将就,编译我就阿菜了)。谢谢!

[ 本帖最后由 kuhasu 于 2009-2-17 21:01 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播
2#
 楼主| 发表于 2009-2-10 20:41:07 | 显示全部楼层
CQG的数据要如何获得呢?因为我想MT和ECN的在一些细节上数据还是不同的
3#
 楼主| 发表于 2009-2-11 19:01:23 | 显示全部楼层
原帖由 redstart 于 2009-2-11 17:00 发表
https://www.cqgdatafactory.com/
好东西都是要收费的,比eSignal还贵,光一组DM-EURO/GBP 从1971到2009年的数据就要$2783.60
1375

数据格式和是否MM还是ECN没有关系,目前主流经纪商的数据格式应该都是一样的: ...


那样我是觉得就没什么必要了,呵呵:)
其实这个数据用来做MBtrading的历史数据补充是最好的了
4#
 楼主| 发表于 2009-2-12 23:43:58 | 显示全部楼层
原帖由 redstart 于 2009-2-12 20:48 发表
怎么操作?写个流程



请告诉我邮箱地址。我把追溯到的数据后门和反编译后的代码等文件传给大人。

上面的那一堆可以作废了。
5#
 楼主| 发表于 2009-2-12 23:47:49 | 显示全部楼层
数据下载方面,我先看看速度,如果服务器给的带宽低的话再麻烦大家。

[ 本帖最后由 kuhasu 于 2009-2-12 23:56 编辑 ]
6#
 楼主| 发表于 2009-2-13 21:07:39 | 显示全部楼层
原帖由 mugger 于 2009-2-13 17:06 发表
我载了10来个货币对。
用自己写的java程序载的。
10_sec的数据是从2003年8月开始。下载的压缩数据包每个货币对大概200多M(包括Bid和Ask)。解压后每个货币对大概1.6个G(包括Bid和Ask)


总算遇到个会java的。。。。

我不是java程序员,java很菜,请教下以下代码的意思:

(尤其是stamp.append(time).append("[").append(format.format(time)).append("] / ");
result = prime * result + (int) (temp ^ (temp >>> 32));)


public String toString() {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSSZ");
format.setTimeZone(TimeZone.getTimeZone("GMT"));
StringBuilder stamp = new StringBuilder();
stamp.append(time).append("[").append(format.format(time)).append("] / ");
stamp.append(open).append(" - ").append(close);
return stamp.toString();
}

@Override
public int hashCode() {
final int prime = 31;
int result = super.hashCode();
long temp;
temp = Double.doubleToLongBits(close);
result = prime * result + (int) (temp ^ (temp >>> 32));
temp = Double.doubleToLongBits(high);
result = prime * result + (int) (temp ^ (temp >>> 32));
temp = Double.doubleToLongBits(low);
result = prime * result + (int) (temp ^ (temp >>> 32));
temp = Double.doubleToLongBits(open);
result = prime * result + (int) (temp ^ (temp >>> 32));
temp = Double.doubleToLongBits(vol);
result = prime * result + (int) (temp ^ (temp >>> 32));
return result;
谢谢!!!

[ 本帖最后由 kuhasu 于 2009-2-13 21:10 编辑 ]
7#
 楼主| 发表于 2009-2-14 00:50:15 | 显示全部楼层
谢谢!


@Override
public int hashCode() {
final int prime = 31;
int result = super.hashCode();
long temp;
temp = Double.doubleToLongBits(close);
result = prime * result + (int) (temp ^ (temp >>> 32));

呢?

还有8549823492是怎么得出来的呢,转换到时间的算法呢?

[ 本帖最后由 kuhasu 于 2009-2-14 00:52 编辑 ]
8#
 楼主| 发表于 2009-2-14 15:28:21 | 显示全部楼层
谢谢!
举个例子,对于日期时间的longlong型和价格、数量的8 byte long double(8位长双精度)型
01.01.2004 08:00,80.61,80.71,79.8,83.73,252937

00  00  00  F9  CE  BA  B8  00         01.01.2004 08:00
40  54  27  0A  3D  70   A3  D7        80.61
40  54  2D  70  A3  D7  0A  3D         80.71
40  53  F3  33  33   33   33  33         79.8
40  54  EE  B8  51  EB  85  1F         83.73
41  0E  E0  48  00  00   00   00        252937


用java或者C#,怎样进行数据转换呢
还有就是
temp = Double.doubleToLongBits(close);
result = prime * result + (int) (temp ^ (temp >>> 32));
变量我明白,运算符和函数就不懂,请教下,谢谢
9#
 楼主| 发表于 2009-2-14 16:41:51 | 显示全部楼层
原帖由 mugger 于 2009-2-14 16:30 发表
另外,统一回答一下你的短消息。
我载的是BIN,他是zip压缩的,java有自带的zip解压缩实现,c#也有很多免费的zip解压缩实现。
我没有转成txt,我要的就是二进制的。
某个目录下批量的转化,我想你很容易可以下写一 ...



谢谢 我编程方面实在是菜,尤其用C#,java处理数据方面。所以还是决定直接下载那个csv了,尽管稍微慢些。

附上反编译的swf文件。批量下载的时候月份需要注意的是是从0开始代表1月的。

本帖子中包含更多资源

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

x
10#
 楼主| 发表于 2009-2-14 18:33:51 | 显示全部楼层

回复 18# 的帖子

呵呵,这个东西有什么适合不适合自己的,反正搞完数据也是要共享的。
只不过有方便工具,有几个人互相合作,速度快些罢了。
也不是人人都精通数据转换的数据编程,而且精通一种语言的其他的也不一定精通,熟悉编译的不一定熟悉反编译,
只是这样而已。所以才想到了协作的方式。

bin的文件都是单个的,一段儿一段儿的,那你单个文件怎么用呢?还没有数据库的存储是以一大堆bin做基础的吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|外汇堂·专业外汇论坛    

GMT+8, 2024-5-13 09:42 , Processed in 0.170348 second(s), 26 queries .

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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