标签: quantitative-finance

如何查看quantmod包中的所有可用数据系列?

如何显示所有报价/数据系列的列表,例如来自Yahoo的getSymbols?

r quantitative-finance quantmod

7
推荐指数
1
解决办法
3092
查看次数

ValueError:如果使用所有标量值,则必须传递索引

取以下代码:

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)

python quantitative-finance pandas

7
推荐指数
1
解决办法
3万
查看次数

Python:使用Google财经下载索引数据

我成功地从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

7
推荐指数
1
解决办法
4473
查看次数

有没有找到符号列表的来源?

我正在使用alpha vantage的数据进行股票市场分析.但我找不到完整的符号列表(用于选择下拉列表).

finance google-finance quantitative-finance yahoo-finance

7
推荐指数
1
解决办法
8619
查看次数

关于alphavantage的财务数据

我试图通过调用alphavantage的API来为公司获取JSON.对于一些公司数据即将到来,对于一些公司来说,它失败了.数据即将来临的公司 - 数据失败的TCS,INFY,MSFT公司 - TATAMOTORS,RCOM,SBIN

TCS JSON的链接

https://www.alphavantage.co/query?function=TIME_SERIES_DAILY_ADJUSTED&symbol=TCS&outputsize=full&apikey=MCAF9B429I44328U

TATAMOTORS的链接

https://www.alphavantage.co/query?function=TIME_SERIES_DAILY_ADJUSTED&symbol=TATAMOTORS&outputsize=full&apikey=MCAF9B429I44328U

谁能帮助我为什么会这样?

json finance google-finance-api quantitative-finance alphavantage

7
推荐指数
3
解决办法
1万
查看次数

如何将 ETF 的数据提取到 Google 电子表格中?

这篇文章之后,我列出了我在一些相关论坛上发现的一些有趣的 ETF 1,我收到了一些有价值的批评。现在我想使用Google 电子表格在一个地方获取这些 ETF 的更新信息,并可能将其用于个人投资组合管理。我需要的:

  • 最好使用 ISIN 2代码获取数据,因为股票代码/符号在不同数据库和市场之间并不是真正可靠和一致
  • 我需要的信息是:
    1. ETF的当前价值
    2. 1年、3年和5年业绩/回报
    3. 当前基金规模
    4. TER:总费用率
    5. TD:跟踪差异
    6. 1年波动率

例如,考虑在“阿姆斯特丹泛欧交易所”上列为“IWDA”的“iShares Core MSCI World”ETF 和“IE00B4L5Y983”的 ISIN 代码。到目前为止我读过的内容:

  1. 这个页面这个帖子,我使用这个GOOGLEFINANCE函数从谷歌财经获取当前价格和其他一些信息。但是,我不知道如何获取/计算 1/3/5 年的表现、基金规模、TER 和 TD。而且,根据这篇评论,谷歌财经和许多其他谷歌产品一样,似乎正在消亡。因此,拥有更可持续的解决方案会很棒。
  2. 这篇文章建议了一些语法使用indexIMPORTXML函数来获取etf.com。并且此注释使用相同的函数来获取nasdaq.com. 但我无法使任何一个工作,主要是因为我不知道我应该使用什么符号。
  3. 这个这个评论建议DGETIMPORTDATA函数,从 中获取数据api.iextrading.com,但我也无法让它工作。
  4. 这篇文章bogleheads.org论坛上的许多其他文章,使用了使用该importHTML函数从许多不同网站导入和解析 HTML 表格的所有语法变体。有很多可靠的网站,如果我学会了如何使用这个功能,我就可以从中获取数据。

如果您能帮助我了解如何获得上述信息,我将不胜感激。提前感谢您的支持。

PS1。这里 …

finance google-finance google-finance-api google-sheets quantitative-finance

7
推荐指数
1
解决办法
8785
查看次数

使用 numpy 改进 worldquant 101 alpha 因子的实现

我试图实现 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 相当的性能?

\n

Numpy实现基于https://github.com/yli188/WorldQuant_alpha101_code

\n
import …
Run Code Online (Sandbox Code Playgroud)

python numpy quantitative-finance pandas dolphindb

7
推荐指数
1
解决办法
2743
查看次数

从盈透证券的 API 获取多个最后报价

我有一个关于盈透证券的 Python API 的问题。

是否可以将多个资产和股票合约传递给 reqMktData() 函数并获得最后价格?(我可以在 reqMktData 中设置快照 = TRUE 以获得最后价格。您可以假设我已经订阅了适当的数据服务。)

为了正确看待事情,这就是我想要做的:

1) 调用 reqMktData,获取多个资产的最新价格。

2)将数据输入我的预测引擎,然后做一些事情

3) 转到步骤 1。

当我联系盈透证券时,他们说: “一次只能将一份合约传递给 reqMktData(),因此在请求实时数据方面没有批量请求功能。”

显然,解决这个问题的一种方法是做一个循环,但这太慢了。另一种方法是通过多线程,但这是很多工作,而且我负担不起购买新计算机的额外费用。我对任何一个都不感兴趣。

有什么建议?

api finance quantitative-finance python-3.x interactive-brokers

6
推荐指数
1
解决办法
1825
查看次数

Python 中的抛物线 SAR....PSAR 不断增长而不是逆转

我有一个开盘/高/低/收盘价的 Pandas 数据框,我正在编写一个函数,将抛物线 SAR 添加到我的数据框中。现在,PSAR 数字疯狂地增长,而且我似乎从来没有在牛市和熊市方向之间翻转过。任何有助于理解为什么我的 PSAR 变得如此疯狂的帮助都会很棒。我已经尝试了此代码的几种变体,但无济于事。

对于那些不熟悉 PSAR 的人:

  • 前期 SAR:前一时期的 SAR 值。

上升的特区

  • 极值点 (EP):当前上升趋势的最高点。
  • 加速因子 (AF):从 0.02 开始,每次极值点创下新高时,AF 都会增加 0.02。无论上升趋势持续多久,AF 都可以达到 0.20 的最大值。
  • 加速因子乘以极值点与上一期 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)

下降的SAR

  • 极值点 (EP):当前下降趋势的最低点。
  • 加速因子 (AF):从 0.02 开始,每次极值点创下新低时,AF 都会增加 0.02。无论下降趋势持续多久,AF 都可以达到 0.20 的最大值。
  • 加速因子乘以前期的 …

python finance quantitative-finance

6
推荐指数
1
解决办法
3853
查看次数

使用 Pandas 计算元组最长递增子序列的矢量化或有效方法

使用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

6
推荐指数
1
解决办法
185
查看次数