Ⅰ 如何用python在掘金量化抓取數據
TuShare財經數據介面 – 可以直接抓取新浪財經、鳳凰財經的網站數據,包括行情、基本面、經濟數據等等。
完全免費,簡潔易用,API設計得非常友好,提取的數據格式是Pandas的DataFrame。同時可以獲取非高頻實時數據(取決於網站更新速度,同事經驗大約是15秒),一個極好的非高頻股票策略數據解決方案。
Ⅱ 為什麼pandas有國內股票數據
都是公開發行上市的股票,當然會有的,Pandas是數據分析工具包
TuShare是國內股票數據抓取工具,除了股票的實時和歷史數據,還有基本面數據,加上自然語言處理(比如情緒分析),或者機器學習,就比較有趣了。
Ⅲ 如何選取過去每個月股票的市值 python
類似,可以修改一下
股票漲跌幅數據是量化投資學習的基本數據資料之一,下面以python代碼編程為工具,獲得所需要的歷史數據。主要步驟有:
(1) #按照市值從小到大的順序活得N支股票的代碼;
(2) #分別對這一百隻股票進行100支股票操作;
(3) #獲取從2016.05.01到2016.11.17的漲跌幅數據;
(4) #選取記錄大於40個的數據,去除次新股;
(5) #將文件名名為「股票代碼.csv」。
具體代碼如下:
# -*- coding: utf-8 -*-
"""
Created on Thu Nov 17 23:04:33 2016
獲取股票的歷史漲跌幅,並分別存為csv格式
@author: yehxqq151376026
"""
import numpy as np
import pandas as pd
#按照市值從小到大的順序活得100支股票的代碼
df = get_fundamentals(
query(fundamentals.eod_derivative_indicator.market_cap)
.order_by(fundamentals.eod_derivative_indicator.market_cap.asc())
.limit(100),'2016-11-17', '1y'
)
#分別對這一百隻股票進行100支股票操作
#獲取從2016.05.01到2016.11.17的漲跌幅數據
#選取記錄大於40個的數據,去除次新股
#將文件名名為「股票代碼.csv」
for stock in range(100):
priceChangeRate = get_price_change_rate(df['market_cap'].columns[stock], '20160501', '20161117')
if priceChangeRate is None:
openDays = 0
else:
openDays = len(priceChangeRate)
if openDays > 40:
tempPrice = priceChangeRate[39:(openDays - 1)]
for rate in range(len(tempPrice)):
tempPrice[rate] = "%.3f" %tempPrice[rate]
fileName = ''
fileName = fileName.join(df['market_cap'].columns[i].split('.')) + '.csv'
fileName
tempPrice.to_csv(fileName)
Ⅳ python用什麼方法或者庫可以拿到全部股票代碼
首先你需要知道哪個網站上有所有股票代碼,然後分析這個網站股票代碼的存放方式,再利用python寫一個爬蟲去爬取所有的股票代碼
Ⅳ 如何使用Python獲取股票分時成交數據
可以使用爬蟲來爬取數據,在寫個處理邏輯進行數據的整理。你可以詳細說明下你的需求,要爬取的網站等等。
希望我的回答對你有幫助
Ⅵ 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=
Ⅶ 如何獲取實時的股票數據
估計你是盤中炒股需要吧?多數股票軟體都有公式系統,例如大智慧、同花順、通達信,都有公式系統,在公式系統中編寫自己的公式,就可以得到自己需要的實時的股票數據了。這些都是免費的。
如果是公司,有專門提供股票行情API介面的,例如微盛的金融實時行情API介面,但這種介面需要程序員才能使用,比較專業。
Ⅷ 怎麼學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