我想将2009年小麦合约的高/低/收盘数据导入Excel。
我希望在Python中做到这一点,但如果有必要,我会学习另一种语言。
我是Futures编程的新手。如果以上问题是我的目标,我该如何实现?
第页。S.首先,我不确定从哪里或如何获得这些数据。这可能是一个复杂的问题,所以我在几个Reddits/Forum上发布了它。任何人能提供的任何见解都将不胜感激。
谨致问候,稀疏
进展更新:2011-06-22 16:19
EliteTrader.com用户(kanellop)回复:
最重要的是…哪一个是您的数据提供商。。。?如果我假设那是路透社数据链接。。。而你使用Metastock。。。那么您必须使用函数:转换下载程序并将这些数据传输到Excel。
为了回答他的问题,我使用ThinkorSwim平台。平台接收数据并将其组织成价格图,如下图所示。
kanellop推荐的Reuters DataLink和Metastock都不是免费的。因此,让ThinkorSwim然后为原始数据提要付费似乎有点傻。难道不应该有办法从我的平台上窃取历史数据吗?
为了获得期货数据,您将需要一个交易API(如T4 API,btw T4免费14天),如果您使用C#,则将数据序列化到CSV文件是微不足道的。
它是这样的:
using(StreamWriter sw = new StreamWriter("fileName.csv"))
{
foreach(Quote q in quotes)// assuming there is a Quote object and a list of quotes
{
sw.WriteLine("{0},{1},{2},{3}", q.Open, q.High, q.Low, q.Close);// something of the sort
}
}
你会遇到的最困难的部分是使用交易API来提取必要的数据,但它附带了示例(你可以在安装目录中找到),所以你应该能够在几天左右的时间内找到它
更新:
您所要求的比使用商业API更具挑战性。这是可能的,你有几个选择,但没有一个是微不足道的:
- 直接从屏幕上抓取:制作一个应用程序,进行屏幕截图并从图像中提取数据。就说这不好玩吧
- 如果是桌面应用程序:你可以拦截进入你正在使用的应用程序的网络流量,即使你能够做到这一点,如果他们使用安全连接(即某种加密),你也可能会碰壁
- 如果它是一个web应用程序:你可以用C#创建一个浏览器,你可以从你的客户端获得的HTML页面中抓取数据。。。如果他们使用的是JavaScript,那么这将变得更加复杂
最终,如果你只是付钱给第三方给你数据,然后实际尝试开发";拦截;ThinkOrSwim的数据。