2017-06-25 14 views
1

私は、frontEndのbackEndプロジェクトを構築するためにpythonとそのフレームワークフラスコを使用しています。 プロジェクトには在庫データが必要です。私はYahooのApiを使用して動作を停止し、Alpha Vantage APIを使用しています。それはかなりうまくいっていますが、ナスダックやダウ・ジョーンズのような株価指数では困難を抱えていますyahooで私はティッカーを使っていました(^ IXIC、^ DJI ...)しかしそれはうまくいきませんアルファヴェンテージで。誰もがアルバイトで働いていましたか?AlphaVantage API株式市場指標

マイクロソフトのデータを取得するための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> 

答えて

3

私はalphavantageのためのPythonライブラリを持っている(MITがライセンス)https://github.com/RomelTorres/alpha_vantageあなたはそれを見ることができます。私は、ライブラリの使用方法に関するいくつかの例を共有しました。

+0

キャレットやその他の特殊文字があるALLY^AのようなシンボルをAVがどのように扱うのか知っていますか? ALLYはAlly Bankのためのものであり、ALLY^AはGMAC Capitalのためのものです。どちらもNYSEにあります。 –

0

私はあなたの質問と次のように変更と私のキーに例のURLを使用してインデックスのデータを取得することができた:代わりに^ IXICの

使用IXICを。 ^ DJIの代わりにDJIを使用してください。 FCHIの代わりにFCHIを使用してください。

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

基本的に、記号からカラット(^)プレフィックスを削除するだけです。

関連する問題