X*o
2 楼
s*o
3 楼
本人在研究trading system 和 strategy desgin, 自然最先遇到的问题就是要维护好
历史data, 从而可以以此为背景做backtesting 去找到统计上的交易edge。我的data
是tickdata,格式如下图所示,
最后两列是volume,没有用,可以去掉的。这样就包含日期,bid, ask, 三个data。
如图所示,这些data很密集,两个月40个交易日大概有500万行这样的data,我在c#的
程序如果从储存这些数据的csv里边直接读取并存到内存里的data structure里的话,
大概30秒左右。然后再对内存里的进行回测,大体的思路是这样的。现在的问题就是
csv肯定是不合理的储存方式:
方案1: mysql, mssql去储存数据,但我看一些trading的论坛一些技术人员说因为这
些database是relational,对tick这样的time series不是最佳的方案。
方案2:存储为binaryfile,然后通过文件夹和文件的名字来寻找相应的data,比如建
立一个文件夹EUR。USD,里边有很多单独的bin文件,每个文件存取一天的tickdata。
同时存取的时候只存去delta值,因为大家也许注意到了,每一行的时间间隔是
milliseconds,价格的差别也许是0.0002-0.0010,如果我们只存取这些price change
,也许能进一步压缩空间。
大家都是database的专家,能不能给我一些建议,谢谢
历史data, 从而可以以此为背景做backtesting 去找到统计上的交易edge。我的data
是tickdata,格式如下图所示,
最后两列是volume,没有用,可以去掉的。这样就包含日期,bid, ask, 三个data。
如图所示,这些data很密集,两个月40个交易日大概有500万行这样的data,我在c#的
程序如果从储存这些数据的csv里边直接读取并存到内存里的data structure里的话,
大概30秒左右。然后再对内存里的进行回测,大体的思路是这样的。现在的问题就是
csv肯定是不合理的储存方式:
方案1: mysql, mssql去储存数据,但我看一些trading的论坛一些技术人员说因为这
些database是relational,对tick这样的time series不是最佳的方案。
方案2:存储为binaryfile,然后通过文件夹和文件的名字来寻找相应的data,比如建
立一个文件夹EUR。USD,里边有很多单独的bin文件,每个文件存取一天的tickdata。
同时存取的时候只存去delta值,因为大家也许注意到了,每一行的时间间隔是
milliseconds,价格的差别也许是0.0002-0.0010,如果我们只存取这些price change
,也许能进一步压缩空间。
大家都是database的专家,能不能给我一些建议,谢谢
e*a
4 楼
【 以下文字转载自 NewYork 讨论区 】
发信人: enpea (PPP...P...), 信区: NewYork
标 题: 询问:纽约及附近地区的非盈利组织
发信站: BBS 未名空间站 (Sun Feb 22 16:09:58 2009)
打算到NPO、NGO实习,最好是经济类的
不知道有达人了解纽约地区的情况吗?都有哪些这样的组织?
谢谢
发信人: enpea (PPP...P...), 信区: NewYork
标 题: 询问:纽约及附近地区的非盈利组织
发信站: BBS 未名空间站 (Sun Feb 22 16:09:58 2009)
打算到NPO、NGO实习,最好是经济类的
不知道有达人了解纽约地区的情况吗?都有哪些这样的组织?
谢谢
s*o
6 楼
方案3:用.net 4里边新家的memory-mapped files 来做,这样也是对硬盘上的file进
行操作,但是不读取到内存里,对内存压力小些,不过怀疑速度和第二种会有些缓慢,
毕竟计算的时候不是在内存里吧?
行操作,但是不读取到内存里,对内存压力小些,不过怀疑速度和第二种会有些缓慢,
毕竟计算的时候不是在内存里吧?
y*w
7 楼
google "big data"
另外,如果只分析两个月,5M行这么简单的数据也不是什么大事儿。怎么方便怎么来就行了。
data
【在 s*******o 的大作中提到】![](/moin_static193/solenoid/img/up.png)
: 本人在研究trading system 和 strategy desgin, 自然最先遇到的问题就是要维护好
: 历史data, 从而可以以此为背景做backtesting 去找到统计上的交易edge。我的data
: 是tickdata,格式如下图所示,
: 最后两列是volume,没有用,可以去掉的。这样就包含日期,bid, ask, 三个data。
: 如图所示,这些data很密集,两个月40个交易日大概有500万行这样的data,我在c#的
: 程序如果从储存这些数据的csv里边直接读取并存到内存里的data structure里的话,
: 大概30秒左右。然后再对内存里的进行回测,大体的思路是这样的。现在的问题就是
: csv肯定是不合理的储存方式:
: 方案1: mysql, mssql去储存数据,但我看一些trading的论坛一些技术人员说因为这
: 些database是relational,对tick这样的time series不是最佳的方案。
另外,如果只分析两个月,5M行这么简单的数据也不是什么大事儿。怎么方便怎么来就行了。
data
【在 s*******o 的大作中提到】
![](/moin_static193/solenoid/img/up.png)
: 本人在研究trading system 和 strategy desgin, 自然最先遇到的问题就是要维护好
: 历史data, 从而可以以此为背景做backtesting 去找到统计上的交易edge。我的data
: 是tickdata,格式如下图所示,
: 最后两列是volume,没有用,可以去掉的。这样就包含日期,bid, ask, 三个data。
: 如图所示,这些data很密集,两个月40个交易日大概有500万行这样的data,我在c#的
: 程序如果从储存这些数据的csv里边直接读取并存到内存里的data structure里的话,
: 大概30秒左右。然后再对内存里的进行回测,大体的思路是这样的。现在的问题就是
: csv肯定是不合理的储存方式:
: 方案1: mysql, mssql去储存数据,但我看一些trading的论坛一些技术人员说因为这
: 些database是relational,对tick这样的time series不是最佳的方案。
s*o
8 楼
也许我没说清楚,现在可以下载的data有2003-2012, 算8年吧,一个月2M,这样的话
一个pair就就有8*12*2, 一亿多行data把。在外汇里一般有10个可以交易的货币对,
这样的话就接近1billion了,其实有26个,有些不活跃或者不适合交易。这样data算多
了把。
一个pair就就有8*12*2, 一亿多行data把。在外汇里一般有10个可以交易的货币对,
这样的话就接近1billion了,其实有26个,有些不活跃或者不适合交易。这样data算多
了把。
相关阅读
请前辈们指导请问如何估计这么一系列parameters.请问,美国证券从业资格证 应该怎么考?Purdue VS Stony brook econ Ph.D.想要研究risk management的方向asking for papers, 3x!人民币升值如何降低中国的inflation?ZT: 有了巨额外汇储备,就是经济强人?微分几何在经济学中有应用么?免费拿最高400刀Discover&Amex bonus+Discover 12000mile+10刀礼品卡若干(自取)今年北美fresh phd海龟基本上也定下来了吧?各位都是怎么做理论模型的?2010 五道口的博士师资中国沿海企业有没有大量向内陆转移?结束通胀的方法是取消强制结汇经济的master一般可以做什么样的工作呢?大家要不要评论一下这篇本科thesis大家写文章都找专业editor改吗?怎么联系母校做报告呢?求助,急!