web-dev-qa-db-ja.com

python-quandlを使用しない

私は、Yahooを使用して次のような株価データを取得するRパッケージquantmodを使用しても問題ありません。

get_stock_prices <- function(target, return_format = "tibble", ...) {
    # Get stock prices
    print(target)
    stock_prices_xts <- getSymbols(Symbols = target, auto.assign = FALSE, ...)
    # Rename
    names(stock_prices_xts) <- c("Open", "High", "Low", "Close", "Volume", "Adjusted")
    # Return in xts format if tibble is not specified
    if (return_format == "tibble") {
        stock_prices <- stock_prices_xts %>%
            as_tibble() %>%
            rownames_to_column(var = "Date") %>%
            mutate(Date = ymd(Date))
    } else {
        stock_prices <- stock_prices_xts
    }
    write.csv(stock_prices, file = paste(target, "csv", sep = '.'))
}

Python)のpandas_datareaderのみを知っており、同様のことを実現しています。残念ながら、このパッケージは、yahoo APIとgoogle APIが変更されたため、壊れています。このコード:

import pandas_datareader as pdr

panel_data = pdr.get_data_yahoo('MSFT')

結果は:

Yahoo Actions has been immediately deprecated due to large breaks in the API without the
introduction of a stable replacement. Pull Requests to re-enable these data
connectors are welcome.

上記を実現するために現在機能しているPythonパッケージがあります。私はquandlを知っていますが、これは有料サービスです。ありがとうございます。

10
cs0815

Alpha Vantage は、無料で、リアルタイムの株価情報をRESTful JSONおよびCSV APIとして提供するもう1つの優れたソースです。これが APIドキュメント です。

セットアップ

設定はかなり簡単です。 ここ から無料のAPIキーを生成し、matplotlibとともにモジュールをインストールするだけです。

pip install matplotlib
pip install alpha_vantage

ドキュメントページで例を確認できますが、ここにもいくつかリストします。

ここに私がオンラインで見つけたいくつかのコードがあります:

from alpha_vantage.timeseries import TimeSeries
import matplotlib.pyplot as plt
import sys

def stockchart(symbol):
    ts = TimeSeries(key='your_key', output_format='pandas')
    data, meta_data = ts.get_intraday(symbol=symbol,interval='1min', outputsize='full')
    print data
    data['4. close'].plot()
    plt.title('Stock chart')
    plt.show()

symbol=raw_input("Enter symbol name:")
stockchart(symbol)

出力:

Output

ソース コードと画像。

編集

周りのいくつかのコードを変更しました。変更についてはコメントを参照してください。

11
SamrajM

fix_yahoo_financeをお試しください:

from pandas_datareader import data as pdr
import fix_yahoo_finance as yf
data = yf.download("MSFT", start="2017-01-01", end="2017-04-30")
print(data)

[*********************100%***********************]  1 of 1 downloaded
                 Open       High    ...     Adj Close    Volume
Date                                ...                        
2017-01-03  62.790001  62.840000    ...     60.664047  20694100
2017-01-04  62.480000  62.750000    ...     60.392612  21340000
2017-01-05  62.189999  62.660000    ...     60.392612  24876000
2017-01-06  62.299999  63.150002    ...     60.916084  19922900
2017-01-09  62.759998  63.080002    ...     60.722206  20256600
2017-01-10  62.730000  63.070000    ...     60.702820  18593000
5
Iman

Quandlには無料と有料の階層があります。あなたは絶対にQuandlから無料の株式データを得ることができます、そしてあなたは彼らのAPIを介して簡単にそれを行うことができます。 pip install quandlまたはconda install quandl。必要なのは、無料のアカウントにサインアップし、APIキーを取得することだけです。次に、このようなもの。

import quandl

quandl.ApiConfig.api_key = "YOUR_API_KEY"

df = quandl.get_table("WIKI/PRICES", ticker = ["MSFT"], 
                      qopts = {"columns": ["date", "ticker", "adj_open", "adj_close"]}, 
                      paginate=True)

彼らのウェブサイトにもたくさんのドキュメントがあります。そして、複数のソース。

チェックアウト:

手始めに。

2
Batman