【问题标题】:AlphaVantage API Stock Market IndicesAlphaVantage API 股票市场指数
【发布时间】:2017-11-28 05:57:03
【问题描述】:

我正在使用 python 及其框架烧瓶来构建前端后端项目。 该项目需要库存数据。在它停止工作之前我使用了 Yahoo 的 Api,现在我使用的是 Alpha Vantage API。它运行得很好,但我在纳斯达克、道琼斯等股票市场指数方面遇到了困难。我在雅虎使用他们的股票代码(如符号)(^IXIC、^DJI...)但它似乎不起作用具有阿尔法优势。有人用过 alpha vantage 吗?

获取 Microsoft 数据的 url 示例:
https://www.alphavantage.co/query?function=TIME_SERIES_DAILY_ADJUSTED&symbol=MSFT&outputsize=full&apikey=CN3J

Python 代码:

@app.route('/pfa/medaf/IndAct', methods = ['POST'])
def donnee():
Action1 = request.form['code1']
Action2 = request.form['code2']
Indice = request.form['Ind']

url="https://www.alphavantage.co/query?function=TIME_SERIES_DAILY_ADJUSTED&symbol="
urlInd=url+Indice+"&apikey=CN3J"
urlAct1=url+Action1+"&apikey=CN3J"
urlAct2=url+Action2+"&apikey=CN3J"

respInd = urlopen(urlInd)
dataInd = json.loads(respInd.read().decode(respInd.info().get_param('charset') or 'utf-8'))

coursIndice=[]
listInd=[]
for elt in dataInd['Time Series (Daily)'].keys():
    listInd.append(elt)
listInd.sort(reverse=True)
for e in listInd:
    coursIndice.append(float(dataInd['Time Series (Daily)'][e]['4. close']))

lenIndice = len(coursIndice)

rentabIndice=[]
for j in range(lenIndice-1):
    rentabIndice.append(100*(coursIndice[j+1]/coursIndice[j] -1 ))

moyenneMarche=sum(rentabIndice)/len(rentabIndice)

HTML 代码:

<section class="cols pad_left1">
    <form action = "http://localhost:5000/pfa/medaf/IndAct" method = "post">
    Tickers:
    <input type = "text" name = "code1" placeholder="Ticker here"><br>
    <input type = "text" name = "code2" placeholder="Ticker here"><br><br>
    Indice:<br>
    <select name="Ind" size="1" >
    <option   value="^IXIC" > NASDAQ Composite    </option>
    <option   value="^FCHI" > CAC40    </option>
    <option   value="^DJI" > Dow Jones</option>
    </select><br><br>
    <input type = "submit" value = "submit" />
    </form>
</section>

【问题讨论】:

    标签: python flask alpha-vantage


    【解决方案1】:

    您可以通过导入连接到时间序列

    import pandas as pd
    from alpha_vantage.timeseries import TimeSeries
    import time
    ts = TimeSeries (key=api_key, output_format = "pandas")
    daily_results = ts.get_daily_adjusted(symbol="MSFT")
    print(daily_results)
    

    或者其他的东西,比如资产负债表等等

     base_url = 'https://www.alphavantage.co/query?'
     params = {'function': 'INCOME_STATEMENT',
         'symbol': stock_ticker,
         'apikey': keys}
     response_data_income = requests.get(base_url, params=params)
    
     data_income_annual_last_fiscalDateEnding = 
     response_data_income.json()['annualReports'][0]['fiscalDateEnding']
    

    【讨论】:

      【解决方案2】:

      我能够使用您问题中的示例 URL 和我的密钥获取索引数据,并进行了以下更改:

      使用 IXIC 代替 ^IXIC。 使用 DJI 而不是 ^DJI。 使用 FCHI 而不是 FCHI。

      例如 https://www.alphavantage.co/query?function=TIME_SERIES_DAILY_ADJUSTED&symbol=FCHI&outputsize=full&apikey=

      基本上,只需从符号中删除 carat(^) 前缀即可。

      【讨论】:

      • ....现在似乎所有股票指数都停止工作了
      • 确实如此!?
      【解决方案3】:

      我有一个用于 alphavantage 的 python 库(MIT 许可)https://github.com/RomelTorres/alpha_vantage 你可以看看它。我在那里分享了一些关于如何使用该库的示例。

      【讨论】:

      • 你知道 AV 如何处理像 ALLY^A 这样有插入符号或其他特殊字符的符号吗? ALLY 代表 Ally Bank,而 ALLY^A 代表 GMAC Capital - 两者都在纽约证券交易所上市。
      猜你喜欢
      • 2013-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-09
      相关资源
      最近更新 更多