【问题标题】:Importing High/Low/Close Data into Excel (Trading/Futures "Coding") [closed]将高/低/收盘数据导入 Excel(交易/期货“编码”)[关闭]
【发布时间】:2011-06-22 21:29:06
【问题描述】:

我想将 2009 年小麦合约的高/低/收盘数据导入 Excel。

我希望用 Python 来做这件事,但如果有必要我会学习另一种语言。

我是 Futures 编程的新手。如果上述问题是我的目标,我该如何实现呢?

附:我不确定首先在哪里或如何获取数据。这可能是一个复杂的问题,所以我将它发布在几个 Reddits/论坛上。任何人都可以提供任何见解将不胜感激。

问候, 麻雀


进度更新:2011-06-22 16:19

Response from EliteTrader.com user (kanellop):

主要的事情是...哪个是您的数据提供者...? 如果我认为那是 Reuters DataLink ...并且您使用 Metastock ... 那么你必须使用功能:下载器的转换和 将这些数据传输到 Excel。

为了回答他的问题,我使用 ThinkorSwim 平台。数据由平台接收并组织到price charts such as this one

kanellop 推荐的 Reuters DataLink 和 Metastock 都不是免费的。因此,让 ThinkorSwim 然后为原始数据馈送付费似乎有点愚蠢。不应该有一种方法可以从我的平台上窃取历史数据吗?

【问题讨论】:

  • 您打算使用哪种编程语言?
  • 我最熟悉 Python,但如果需要我会学习另一种语言。并感谢您的快速回复。
  • 抱歉,在您了解要使用的数据源之前,我认为这不是一个可行的问题。在这种开放式的情况下,人们不可能建议如何编写任何代码。
  • 数据源可能是 ThinkorSwim 平台。或者问题是,ThinkorSwim 平台使用的数据源是什么?

标签: excel stocks trading


【解决方案1】:

为了获取期货数据,您需要一个交易 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 更具挑战性。这是可能的,您有多种选择,但都不是微不足道的:

  1. 直接从屏幕上抓取:制作一个可以截取屏幕截图并从图像中提取数据的应用程序。就说不好玩吧!
  2. 如果它是桌面应用程序:您可以拦截进入您正在使用的应用程序的网络流量,即使您能够做到这一点,如果他们使用安全连接(即某种加密)。
  3. 如果它是一个 Web 应用程序:您可以使用 C# 创建一个浏览器,然后您可以从客户端获取的 HTML 页面中抓取数据...如果他们使用的是 JavaScript,那么这将变得更加复杂!

归根结底,如果您只是向第 3 方付费以向您提供数据,然后实际尝试开发“拦截”来自 ThinkOrSwim 数据的软件,那将会便宜得多。

【讨论】:

  • 谢谢,李瑞克。这完美地回答了一切。 :) 我将利用那 14 天的免费试用期,也许有一天会为 API 软件付费。我在 SO 上阅读了您的个人资料和其他一些 cmets。研究市场的 AI/ML 会很有趣。
猜你喜欢
  • 2018-07-05
  • 2016-07-12
  • 1970-01-01
  • 2018-06-14
  • 1970-01-01
  • 1970-01-01
  • 2017-04-18
  • 2011-05-29
  • 1970-01-01
相关资源
最近更新 更多