我想将 2009 年小麦合约的最高价/最低价/收盘价数据导入到 Excel 中。
我希望用 Python 来实现这一点,但如果有必要,我会学习另一种语言。
我是 Futures 编程的新手。如果上述问题是我的目标,我该如何实现?
附注我首先不确定从哪里或如何获取数据。这可能是一个复杂的问题,所以我将其发布在几个 Reddits/论坛中。任何人都可以提供任何见解,我们将不胜感激。
问候, 麻雀
<小时/>进度更新:2011-06-22 16:19
Response from EliteTrader.com user (kanellop) :
The Major thing is...which is your Data Provider...? If i suppose that is Reuters DataLink...and you use Metastock... then you must use the Function: Convert of the Downloader and to transfer these Data's to Excel.
为了回答他的问题,我使用了 ThinkorSwim 平台。平台接收数据并将其组织为price charts such as this one 。
Reuters DataLink 和 kanellop 推荐的 Metastock 都不是免费的。因此,让 ThinkorSwim 然后为原始数据源付费似乎有点愚蠢。难道不应该有办法从我的平台上删除历史数据吗?
最佳答案
为了获取 future 数据,您需要一个交易 API(例如 T4 API ,顺便说一句,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 更具挑战性。这是可能的,您有多种选择,但没有一个是微不足道的:
- 直接从屏幕上抓取:制作一个可以截取屏幕截图并从图像中提取数据的应用程序。只能说这并不好玩!
- 如果它是桌面应用程序:您可以拦截进入您正在使用的应用程序的网络流量,即使您能够做到这一点,如果它们使用安全连接(即,某种加密)。
- 如果它是一个网络应用程序:您可以用 C# 创建一个浏览器,并且可以从客户端获取的 HTML 页面中抓取数据...如果他们使用 JavaScript,那么这会变得更加复杂!
归根结底,如果您只是付费给第三方来为您提供数据,然后实际尝试开发“拦截”ThinkOrSwim 数据的软件,则会便宜得多。
关于excel - 将最高价/最低价/收盘价数据导入 Excel(交易/ future "Coding"),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6446806/