A. 解決 pandas_datareader 無法獲取雅虎財經數據的問題
pandas_datareader 是重要的 pandas 相關包,原來是 pandas.io.data 方法,用於獲取介面數據,比如雅虎財經上的數據或者美聯儲路易斯安娜分行的數據,但是在最近版本(比如 pandas 0.20)中 pandas.io.data 的方法獨立出來稱為一個新的包 pandas_datareader 。
雅虎財經和谷歌財經的介面變換頻繁。如果用 pip install pandas_datareader ,已經無法得到雅虎財經。
pandas_datareader github Issuse #315 針對的就是雅虎財經介面無法訪問的問題, gusutabopb 在 5月21日進行了成功修正,並提供了他修正後的 pandas_datareader 新版本。
該修正版本的安裝方法是
安裝以後測試獲取 google 的股票數據成功。
參考:
Issues with the data reader fetching yahoo finance #315
Error with pulling data from Yahoo Finance
B. 怎麼學python爬取財經信息
本程序使用Python 2.7.6編寫,擴展了Python自帶的HTMLParser,自動根據預設的股票代碼列表,從Yahoo Finance抓取列表中的數據日期、股票名稱、實時報價、當日變化率、當日最低價、當日最高價。
由於Yahoo Finance的股票頁面中的數值都有相應id。
例如納斯達克100指數ETF(QQQ)
其中實時報價的HTML標記為
[html]view plain
<spanid="yfs_l84_qqq">87.49</span>
而標普500指數ETF(SPY)
其中實時報價的HTML標記為
[html]view plain
<spanid="yfs_l84_spy">187.25</span>
因此本數據抓取程序根據相應的id字元串來查找數據。具體來說就是先繼承HTMLParser,然後在自定義的子類中重載handle_data(self, data)方法,查找包含相應id字元串(例如實時報價的id字元串為"yfs_l84_"+股票代碼)的HTML標記,並輸出這個HTML標記中的數據(例如qqq的<span id="yfs_l84_qqq">87.49</span>,其中的數據87.49就是實時報價。)
樣本輸出:
數據依次是
數據日期 股票代碼 股票名稱 實時報價 日變化率 日最低價 日最高價
[python]view plain
05/05/(IBB)233.281.85%225.34233.28
05/05/(SOCL)17.480.17%17.1217.53
05/05/(PNQI)62.610.35%61.4662.74
05/05/2014xsdSPDRS&PSemiconctorETF(XSD)67.150.12%66.2067.41
05/05/2014itaiSharesUSAerospace&Defense(ITA)110.341.15%108.62110.56
05/05/2014iaiiSharesUSBroker-Dealers(IAI)37.42-0.21%36.8637.42
05/05/(VBK)119.97-0.03%118.37120.09
05/05/2014qqqPowerSharesQQQ(QQQ)87.950.53%86.7687.97
05/05/2014ewiiSharesMSCIItalyCapped(EWI)17.86-0.56%17.6517.89
05/05/(DFE)62.33-0.11%61.9462.39
05/05/(PBD)13.030.00%12.9713.05
05/05/(EIRL)38.52-0.16%38.3938.60
C. 為什麼python不能從yahoo finance中採集數據了
代碼如下:
from pylab import figure, show
from matplotlib.finance import quotes_historical_yahoo
from matplotlib.dates import YearLocator, MonthLocator, DateFormatter
import datetime
date1 = datetime.date( 2012, 1, 1 )
date2 = datetime.date( 2015, 3, 23 )
D. 如何使用 Yahoo,Finance stock API 獲取股票數據
如何使用 Yahoo,Finance stock API 獲取股票數據使用 Yahoo,Finance stock API 獲取股票數據:打開Yahoo Finance主頁(這里不讓貼url), 最左邊有個小框框(quote lookup),裡面輸入股票代碼點擊go就能查到即時股價
E. 如何使用 Yahoo,Finance stock API 獲取股票數據
有三種方法獲得數據,具體如下:
1、通過API獲取實時數據
請求地址:http://finance.yahoo.com/d/quotes.csv?s=<股票名稱>&f=<數據列選項>
具體參數:
s – 表示股票名稱,多個股票之間使用英文「+」分隔如:」XOM+BBDb.TO+MSFT」,表示三個公司的股票:XOM,BBDb.TO,MSFT。
f – 表示返回數據列,如」snd1l1yr」。更詳細的參見雅虎股票 API f 參數對照表。
2、通過API獲取歷史數據
請求地址如下:http://ichart.yahoo.com/table.csv?s=<string>&a=<int>&b=<int>&c=<int>&d=<int>&e=<int>&f=<int>&g=d&ignore=.csv
具體參數:
s – 股票名稱
a – 起始時間,月
b – 起始時間,日
c – 起始時間,年
d – 結束時間,月
e – 結束時間,日
f – 結束時間,年
g – 時間周期。
例如: g=w, 表示周期是「周"。d表示「日」(day),w表示「周」(week),m表示「月」(mouth),一定注意月份參數,其值比真實數據少1。如需要9月數據,則寫為08。
3、通過API獲取深滬股票數據
雅虎的API是國際性的,支持查詢國內滬深股市的數據,但代碼稍微變動一下,如浦發銀行的代號是:600000.SS。規則是:上海市場末尾加.SS,深圳市場末尾加.SZ。
F. 如何用python獲取股票數據
在Python的QSTK中,是通過s_datapath變數,定義相應股票數據所在的文件夾。一般可以通過QSDATA這個環境變數來設置對應的數據文件夾。具體的股票數據來源,例如滬深、港股等市場,你可以使用免費的WDZ程序輸出相應日線、5分鍾數據到s_datapath變數所指定的文件夾中。然後可使用Python的QSTK中,qstkutil.DataAccess進行數據訪問。
G. 在財經領域使用大數據分析技術主要運用的是pandas嗎
大數據分析進階之python財經數據抓取
Python常用數據分析包:
Pandas:數據分析
Nltk:自然語言處理
Scikit:人工智慧和機器學習
Numpy/scipy:矢量數據和科學計算
Sympy:符號計算
Gpu:並行超速運算
Opencv:圖像視頻處理
TVTK/mayavi:可視化
財經數據介麵包
Pandas
Python Data Analysis Library 或 是基於NumPy 的一種工具,是python的一個數據分析包。
Pandas最初被作為金融數據分析工具而開發出來,因此,pandas為時間序列分析提供了很好的支持。
Pandas的名稱來自於面板數據(panel data)和python數據分析(data analysis)。
Pandas返回的數據格式都是pandas DataFrame類型,非常便於用pandas/NumPy/Matplotlib進行數據分析和可視化。
使用pandas自帶財經數據介面,能夠獲取雅虎財經、世界銀行等財經數據。
TuShare
TuShare是一個免費、開源的python財經數據介麵包。
主要實現對股票等金融數據從數據採集、清洗加工到數據存儲的過程,能夠為金融分析人員提供快速、整潔和多樣的便於分析的數據,為他們在數據來源方面極大地減輕了工作量,使他們更加專注於策略和模型的研究與實現上。
TuShare返回的絕大部分的數據格式都是pandas DataFrame類型,非常便於用pandas/NumPy/Matplotlib進行數據分析和可視化。
使用TuShare自帶財經數據介面,能夠獲取新浪財經的證券、宏觀等財經數據。
使用TuShare自帶財經數據介面,能夠獲取即時新浪財經數據、新浪股吧數據、個股信息地雷數據等數據。
介面簡單易懂,返回的數據格式規整,非常便於處理分析!
數據挖掘實驗室
持續追蹤大數據和數據新聞前沿,通過自然語言處理、機器學習、R等大數據處理手段和D3、Echarts等數據可視化方法,玩轉大數據驅動新聞。
H. 哪本書介紹python獲取雅虎股票數據
應該沒有書專門介紹 如何獲取雅虎股票數據吧?
你是想了解爬蟲方面的吧?
基本模塊:urllib/urllib2/requests 用於發出URL請求,獲取相應雅虎數據;
beautifulsoup或者lxml 用於解析上面獲取到的html內容;
如果要小題大做的話,你也可以了解一下爬蟲框架:scrpy
I. 如何使用 Yahoo Finance stock API 獲取股票數據
1、通過API獲取實時數據
請求地址
http://finance.yahoo.com/d/quotes.csv?s=<股票名稱>&f=<數據列選項>
參數
s _ 表示股票名稱,多個股票之間使用英文加號分隔,如」XOM+BBDb.TO+JNJ+MSFT」,羅列了四個公司的股票:XOM, BBDb.TO, JNJ, MSFT。
f _ 表示返回數據列,如」snd1l1yr」。更詳細的參見雅虎股票 API f 參數對照表。
2、通過API獲取歷史數據
請求地址
http://ichart.yahoo.com/table.csv?s=<string>&a=<int>&b=<int>&c=<int>&d=<int>&e=<int>&f=<int>&g=d&ignore=.csv
參數
s _ 股票名稱
a _ 起始時間,月
b _ 起始時間,日
c _ 起始時間,年
d _ 結束時間,月
e _ 結束時間,日
f _ 結束時間,年
g _ 時間周期。Example: g=w, 表示周期是』周』。d->』日』(day), w->』周』(week),m>』月』(mouth),v->』dividends only』一定注意月份參數,其值比真實數據-1。如需要9月數據,則寫為08。
3、通過API獲取深滬股票數據
雅虎的API是國際性的,支持查詢國內滬深股市的數據,但代碼稍微變動一下,如浦發銀行的代號是:600000.SS。規則是:上海市場末尾加.ss,深圳市場末尾加.sz。
J. python讀取財經數據
提取日期數據基本語法
from WindPy import w
w.start()
當出現.ErrorCode==-103說明沒連接上,要start一下
w.wsd(security, fields, startDate = None, endDate= None , options = None)
opion 可選(period, 日期類型, 貨幣類型,前後復權)
提取財務數據基本語法
w.wss(security, fields, options = None)
提取板塊日序列基本語法
w.wses(sectorCode, fields, startDate = None, endDate = None, options = None)
提取板塊日截面數據基本語法
w.wsee(sectorCode, fields, options=None)
提取宏觀數據基本語法
w.edb(codes, startDate =None, endDate =None, options=None)
1.日期序列基本語法
ts.get_hist_data(stock,start,end)
注意:1.stock不能是集合,只能單個股票 2.需要帶上.sz或.sh 3.沒有field,只能取出數據後再切除.
2.pro用法
pro.daily(code, start, end, fields)
tushare引用語句
弊端也很明顯,一方面不能stock集合輸入,一次只能調取一個股票對應數據,另一方面tushare雖是免費試用,但有許可權限制。
基本語法
wb.get_data_yahoo(code, start, end)
wb.DataReader(code, 'yahoo', start, end)
沒法添加fields, 雖能集合適用,但出來的索引挺奇怪的
推薦使用定義函數或用for循環批量獲取數據
總體感覺wind api最舒服,但需要賬號,mac也不能直接調用wind api。還是推薦tushare的pro用法。
小白學習中,請指教=v=