已经搜寻了几个小时,因此请保持友善。
需要解决方案以获取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())
Run Code Online (Sandbox Code Playgroud)
曾尝试过谷歌,雅虎,弗雷德和奥安达。似乎没有任何作用。
请提供有关如何请求数据的代码示例。(在大多数情况下,一行就可以了)。
谢谢。
您是否只需要历史货币值?
尝试将forex_python模块与datetime类一起使用(来自datetime模块)。我正在使用python 3,但我怀疑这太重要了。
这些汇率是欧洲中央银行自1999年以来的下午3点(CET)数据。
>>> from datetime import datetime
>>> from forex_python.converter import get_rate
>>> t = datetime(2001, 10, 18) # the 18th of October, 2001
>>> get_rate("USD", "GBP", t)
0.69233
>>> get_rate("GBP", "USD", t)
1.4444
>>> 1 / 1.4444 # check
0.6923289947382997
>>> t = datetime(2006, 6, 26) # June 26th, 2006
>>> get_rate("GBP", "USD", t)
1.8202
Run Code Online (Sandbox Code Playgroud)
因此,
在2006年10月18日,1美元== 0.69英镑,
在2006年6月26日,1美元== 1.82美元。
小智 5
零售经纪人提要总是有偏差,但我不同意没有好的历史提要。FX 的行业标准是EBS馈送。然而,这是一个昂贵的选择。该FXMarketAPI提供饲料紧密匹配这一点。它不隶属于任何经纪人。API 有一个可帮助您提取数据的 Pandas 端点。尽管免费用户有 1000 个请求的限制。你可以在下面看到一个例子。
URL = "https://fxmarketapi.com/apipandas"
params = {'currency' : 'EURUSD',
'start_date' : '2018-07-02',
'end_date':'2018-12-06',
'api_key':'**************'}
response = requests.get("https://fxmarketapi.com/apipandas", params=params)
df= pd.read_json(response.text)
Run Code Online (Sandbox Code Playgroud)
use*_*197 -1
这一点是大错特错的。
没有什么可以作为外汇历史数据。每个外汇交易中介(经纪商)都会创建自己的交易条款和条件。即使同一经纪商也可能为同一货币对交易提供几种不同的(或不一致的,如果愿意)价格反馈,以便满足每种“产品”的条款和条件。
外汇生态系统是一个去中心化、多代理/多角色、主要分布式的全球市场。
因此,宁愿忘记 SLOC,这是一种神奇的单行代码,可以从某些不存在的神圣 API 获得普遍有效的响应。没有这样的。
是的,对于一种特定类型的交易账户,可以针对来自某个特定经纪商的不同 API 服务集成本地主机进程(有关此类数据馈送的详细上下文,请参阅相应的条款和条件)。
一些经纪商发布其本地报价数据,有些则不发布。一些研究机构可能会帮助您进行一些研究驱动的工作,并共享特定 CCY 对的蜱数据的选定部分。但全球整合为零。它根本没有理由聚集这种零附加值的服务。
如果一个人的体外定量模型有意义,那么该模型应该在预期进行体内交易的同一市场上进行验证。
因此,您需要一个特定的市场访问中介者的数据(经纪人要求此数据),您的服务将在其中进行体内操作。
| 归档时间: |
|
| 查看次数: |
10805 次 |
| 最近记录: |