如何显示所有报价/数据系列的列表,例如来自Yahoo的getSymbols?
取以下代码:
import MySQLdb as mdb
import pandas as pd
con = mdb.connect(db_host, db_user, db_pass, db_name)
query = """SELECT `TIME`.`BID-CLOSE`
FROM `EUR-USD`.`tbl_EUR-USD_1-Day`
WHERE TIME >= '2006-12-15 22:00:00' AND TIME <= '2007-01-03 22:00:00'
ORDER BY TIME ASC;"""
# Create a pandas dataframe from the SQL query
eurusd = pd.read_sql_query(query, con=con, index_col='TIME')
idx = pd.date_range('2006-12-17 22:00:00', '2007-01-03 22:00:00')
eurusd.reindex(idx, fill_value=None)
Run Code Online (Sandbox Code Playgroud)
这给出了输出
BID-CLOSE
2006-12-17 22:00:00 1.30971
2006-12-18 22:00:00 1.31971
2006-12-19 22:00:00 1.31721
2006-12-20 22:00:00 1.31771
2006-12-21 22:00:00 1.31411
2006-12-22 22:00:00 NaN
2006-12-23 22:00:00 NaN …
Run Code Online (Sandbox Code Playgroud) 我成功地从Google财经下载了股票数据,如下所示:
import pandas as pd
from pandas_datareader import data as web
import datetime
start = datetime.datetime(2016,1,1)
end = datetime.date.today()
apple = web.DataReader('aapl', 'google', start, end)
Run Code Online (Sandbox Code Playgroud)
我以为我能够为索引数据使用相同的框架.但这不起作用:
spx = web.DataReader('INDEXSP', 'google', start, end)
RemoteDataError: Unable to read URL: http://www.google.com/finance/historical
Run Code Online (Sandbox Code Playgroud)
谷歌不支持索引吗?
或者我需要一个不同的协议?
python google-finance google-finance-api quantitative-finance yahoo-finance
我正在使用alpha vantage的数据进行股票市场分析.但我找不到完整的符号列表(用于选择下拉列表).
我试图通过调用alphavantage的API来为公司获取JSON.对于一些公司数据即将到来,对于一些公司来说,它失败了.数据即将来临的公司 - 数据失败的TCS,INFY,MSFT公司 - TATAMOTORS,RCOM,SBIN
TCS JSON的链接
TATAMOTORS的链接
谁能帮助我为什么会这样?
json finance google-finance-api quantitative-finance alphavantage
在这篇文章之后,我列出了我在一些相关论坛上发现的一些有趣的 ETF 1,我收到了一些有价值的批评。现在我想使用Google 电子表格在一个地方获取这些 ETF 的更新信息,并可能将其用于个人投资组合管理。我需要的:
例如,考虑在“阿姆斯特丹泛欧交易所”上列为“IWDA”的“iShares Core MSCI World”ETF 和“IE00B4L5Y983”的 ISIN 代码。到目前为止我读过的内容:
GOOGLEFINANCE
函数从谷歌财经获取当前价格和其他一些信息。但是,我不知道如何获取/计算 1/3/5 年的表现、基金规模、TER 和 TD。而且,根据这篇评论,谷歌财经和许多其他谷歌产品一样,似乎正在消亡。因此,拥有更可持续的解决方案会很棒。index
和IMPORTXML
函数来获取etf.com
。并且此注释使用相同的函数来获取nasdaq.com
. 但我无法使任何一个工作,主要是因为我不知道我应该使用什么符号。DGET
和IMPORTDATA
函数,从 中获取数据api.iextrading.com
,但我也无法让它工作。bogleheads.org
论坛上的许多其他文章,使用了使用该importHTML
函数从许多不同网站导入和解析 HTML 表格的所有语法变体。有很多可靠的网站,如果我学会了如何使用这个功能,我就可以从中获取数据。如果您能帮助我了解如何获得上述信息,我将不胜感激。提前感谢您的支持。
PS1。从这里 …
finance google-finance google-finance-api google-sheets quantitative-finance
我试图实现 WorldQuant 发布的 101 个量化交易因子 ( https://arxiv.org/pdf/1601.00991.pdf )。
\n一个典型的因素是处理股票的价格和数量信息以及时间维度和股票维度。以 alpha 因子 #4 为例:(-1 * Ts_Rank(rank(low), 9))。这是动量阿尔法信号。最低价是一组股票在一定时期内的最低价。Rank 是对每行 panel\xe2\x80\x99s 进行排名的横截面过程(时间快照)。Ts_Rank 是在指定窗口内移动_rank panel\xe2\x80\x99s 每列(一只股票)的时间序列过程。
\n直观上,Pandas 数据框或NumPy矩阵应该适合 101 个 alpha 因子的实现。下面是我迄今为止使用NumPy得到的最佳实现。然而,性能太低了。在我的 Intel core i7 Windows 机器上,以 5000(交易日期)× 200(股票)矩阵作为输入运行 alpha #4 因子大约需要 45 秒。
\n我还遇到了 DolphinDB,一个具有内置分析功能的时间序列数据库(https://www.dolphindb.com/downloads.html)。对于相同的因子 Alpha#4,DolphinDB 的运行时间仅为 0.04 秒,比 NumPy 快 1000倍版本快 1000 倍。然而,DolphinDB 是商业软件。有人知道更好的 python 实现吗?或者有什么技巧可以改进我当前的 python 代码以实现与 DolphinDB 相当的性能?
\nNumpy实现(基于https://github.com/yli188/WorldQuant_alpha101_code)
\nimport …
Run Code Online (Sandbox Code Playgroud) 我有一个关于盈透证券的 Python API 的问题。
是否可以将多个资产和股票合约传递给 reqMktData() 函数并获得最后价格?(我可以在 reqMktData 中设置快照 = TRUE 以获得最后价格。您可以假设我已经订阅了适当的数据服务。)
为了正确看待事情,这就是我想要做的:
1) 调用 reqMktData,获取多个资产的最新价格。
2)将数据输入我的预测引擎,然后做一些事情
3) 转到步骤 1。
当我联系盈透证券时,他们说: “一次只能将一份合约传递给 reqMktData(),因此在请求实时数据方面没有批量请求功能。”
显然,解决这个问题的一种方法是做一个循环,但这太慢了。另一种方法是通过多线程,但这是很多工作,而且我负担不起购买新计算机的额外费用。我对任何一个都不感兴趣。
有什么建议?
api finance quantitative-finance python-3.x interactive-brokers
我有一个开盘/高/低/收盘价的 Pandas 数据框,我正在编写一个函数,将抛物线 SAR 添加到我的数据框中。现在,PSAR 数字疯狂地增长,而且我似乎从来没有在牛市和熊市方向之间翻转过。任何有助于理解为什么我的 PSAR 变得如此疯狂的帮助都会很棒。我已经尝试了此代码的几种变体,但无济于事。
对于那些不熟悉 PSAR 的人:
加速因子乘以极值点与上一期 SAR 之间的差值。然后将其添加到前期的 SAR 中。但请注意,SAR 永远不会高于前两个时期的低点。如果 SAR 高于这些低点之一,则使用两者中的最低值作为 SAR。
Current SAR = Prior SAR + Prior AF(Prior EP - Prior SAR)
例如:10 年 4 月 13 日: SAR = 48.28 = 48.13 + .14(49.20 - 48.13)
加速因子乘以前期的 …
使用pandas/python,我想计算每组元组的最长递增子序列DTE
,但有效地使用13M行。现在,使用 apply/iteration 大约需要 10 个小时。
这大概是我的问题:
DTE | 罢工 | 出价 | 问 |
---|---|---|---|
1 | 100 | 10 | 11 |
1 | 200 | 16 | 17 |
1 | 300 | 17 | 18 |
1 | 400 | 11 | 12 |
1 | 500 | 12 | 13 |
1 | 600 | 13 | 14 |
2 | 100 | 10 | 30 |
2 | 200 | 15 | 20 |
2 | 300 | 16 | 21 |
import pandas as pd
pd.DataFrame({
'DTE': [1,1,1,1,1,1,2,2,2],
'Strike': [100,200,300,400,500,600,100,200,300],
'Bid': [10,16,17,11,12,13,10,15,16],
'Ask': [11,17,18,12,13,14,30,20,21],
})
Run Code Online (Sandbox Code Playgroud)
我想要:
DTE
。这里我们有两个组(DTE 1 和 DTE 2)。然后在每个组内...Strike
,它对于每个 DTE 组都是唯一的。所以 200 Strike 是在 100 …python vectorization quantitative-finance pandas subsequence
finance ×5
python ×5
pandas ×3
alphavantage ×1
api ×1
dolphindb ×1
json ×1
numpy ×1
python-3.x ×1
quantmod ×1
r ×1
subsequence ×1