我需要在Python中获得历史外汇数据的解决方案。
对于股票来说很容易:
import pandas as pd
import pandas_datareader as pdr
start = dt.date.today() - dt.timedelta(days=30)
end = dt.date.today()
df = pdr.DataReader('AAPL', 'google', start, end)
print(df.head())
我试过谷歌、雅虎、弗雷德和Oanda,似乎都不起作用。
请给予一个代码示例说明如何请求数据。(大多数情况下一行就可以了)。
9条答案
按热度按时间jmo0nnb31#
你只需要历史货币价值吗?
试着用**
forex_python
**模块和datetime
类(来自datetime
模块),我用的是python3,但我怀疑这有多大关系。这些汇率是欧洲央行自1999年以来的下午3点(CET)数据。
所以
2001年10月18日,1美元== 0.69英镑,
2006年6月26日,1英镑== 1.82美元。
rmbxnbpk2#
零售经纪商的信息总是不对称的,但我不同意没有好的历史信息。外汇的行业标准是EBS信息。然而,这是一个昂贵的选择。FXMarketAPI提供了一个与此非常匹配的提要。它不隶属于任何经纪人。API有一个Pandas端点,可以帮助您提取数据。尽管免费用户的请求数量限制为1000。你可以看到下面的例子。
ig9co6j13#
也许你还不够努力:)几个月前,一个非常好看的小伙子发表了这篇文章。诚然,这不是最好的代码(第一个开源项目),然而,它目前正在开发中,并不断改进。下一个版本将更加高效和干净。
设计来存储所有FXCM的历史数据本地Mariadb像这样.
或者如果您只是想要基本的工具来让您开始并构建自己的工具。
您需要一个模拟或真实的福汇账户来获取数据,他们提供不同时间段(fxcm)的免费10年历史数据。
vu8f3i0k4#
FXCM最近发布了一个官方的python forexconnect Package 器。
有一个支持论坛:http://www.fxcodebase.com/code/viewforum.php?f=51&sid=e2b414c06f9714c605f117f74d689a9b
下面是一篇关于获取历史记录的文章中的代码片段:
fcg9iug35#
从2009年开始,pepperstone以每月csv格式提供免费的基于蜱虫的历史数据(访问:https://www.truefx.com/?page=downloads)对于大多数流行的对,我已经写了python代码使用selenium下载所有的csv文件(脚本将下载所有的csv文件到文件夹名称forex):
要点来源:https://gist.github.com/mamedshahmaliyev/bca9242b7ea6a13b3f76dee7a5aa111a
0g0grzrc6#
您可以使用fxcmpy。http://fxcmpy.tpq.io/
下面是一个简单示例:
tjrkku2a7#
sg2wtvxw8#
您可以使用Trademade Python SDK,它提供daily historical data并代表来自银行和经纪商的汇总数据源。作为其独立的数据提供者,您不太可能看到扭曲的汇率。您可以将其与经纪商数据源进行比较,以检查扭曲程度。
k0pti3hp9#
(引文:) 在大多数情况下,一行就可以了?
在这一点上,人们错得不能再错了。
外汇交易历史数据是不存在的。每个外汇交易中介(经纪商)创建自己的交易条款和条件。即使是同一个经纪商也可能为同一货币对交易提供几个不同的(或不一致的,如果您愿意)价格反馈,以便满足每个“产品”的条款和条件。
外汇生态系统是一个分散、多主体/多角色、主要是分布式的全球市场。
因此,最好忘记使用SLOC,它是一个神奇的单行程序,可以从某个不存在的神圣API获得普遍有效的响应。
是的,可以接收外汇数据-但每个经纪商提供不同的情况:
x1c 0d1x是的,您可以针对特定类型的交易账户,针对来自特定经纪商的不同API服务集成本地主机流程(有关此类数据馈送的详细内容,请参阅相应的条款和条件)。
有些经纪商会公布本地的报价数据,有些则不会。有些研究机构可能会帮助您进行一些研究工作,并分享特定CCY对的报价数据的选定部分。但没有全球整合。它根本没有理由整合这种服务,因为它没有任何附加值。
如果一个人的体外定量建模有任何意义,那么这个模型应该在同一个市场上得到验证,在这个市场上,交易预计将在体内进行。
因此,您需要一个特定的市场准入中介的数据(经纪人要求此),其中您的服务将在体内运行。