股票歷史數據爬取
① python爬取股票數據——基礎篇
在探索Python爬取股票數據的基礎之旅中,你需要首先配置好開發環境。首先,確保你擁有一台電腦,並安裝PyCharm社區版,可以從jetbrains.com/pycharm/download/獲取。同時,安裝Anaconda的最新版本,如果遇到網路問題,可能需要科學上網工具。訪問地址為anaconda.com。
安裝完成後,以Anaconda Prompt方式啟動,並創建一個名為"gold"的Conda虛擬環境,指定Python版本為3.10。在命令行中輸入相關指令並確認。
接著,激活虛擬環境並下載baostock和akshare的Python介面。在PyCharm中,可能會遇到錯誤,只需點擊確定並設置項目解釋器。從baostock和akshare官網獲取API文檔,開始編寫代碼以獲取股票數據。
以baostock為例,復制示例代碼並運行,你可以按需調整參數獲取不同股票的分鍾線數據。注意,baostock的數據採用漲跌幅復權法,與股票交易軟體的計算結果可能不一致。akshare介面則提供了後復權數據,適合希望與交易軟體一致的用戶。
爬取的數據通常保存為.csv格式,便於進一步分析。至於復權價格的計算方法,將在後續內容中深入講解。下期我們將探討如何利用akshare介面循環爬取全市場股票數據。
如果你想了解更多關於股票投資的內容,可以關注我的個人微博@朱曉光指數投資,查看我分享的其他文章,如"新項目開啟——打造專屬於你的量化交易系統"、"聊聊凱利公式:量化投資中的倉位管理"等。
在學習股票數據爬取的過程中,持續關注,我們下期再見!
② 璇鋒暀python閲忓寲浜ゆ槗鏃剁敤鍒扮殑鑲$エ姣忓ぉ閫愮瑪浜ゆ槗鏁版嵁濡備綍鐖鍙栵紵
棣栧厛錛屾墦寮鏈熻揣浜ゆ槗杞浠訛紝鐧誨綍鑷宸辯殑浜ゆ槗璐︽埛銆傞夋嫨鐩稿簲鐨勬湡璐у悎綰︼紝榪涘叆浜ゆ槗鐣岄潰銆
鍏舵★紝鎵懼埌鈥滄垚浜よ板綍鈥濇垨鈥滈愮瑪鎴愪氦鈥濈瓑鐩稿叧鍔熻兘鎸夐挳銆傚湪涓浜涗氦鏄撹蔣浠朵腑錛岃繖涓鎸夐挳鍙鑳戒綅浜庝氦鏄撶晫闈㈢殑搴曢儴鎴栦晶杈規爮銆
鐒跺悗錛岀偣鍑燴滄垚浜よ板綍鈥濇垨鈥滈愮瑪鎴愪氦鈥濇寜閽錛岃繘鍏ユ垚浜よ板綍欏甸潰銆傚湪榪欎釜欏甸潰涓婏紝浣犲彲浠ョ湅鍒版渶榪戠殑鎴愪氦璁板綍鍒楄〃銆
鎺ヤ笅鏉ワ紝鎵懼埌鈥滃煎嚭鈥濇垨鈥滃煎嚭鎴愪氦鏄庣粏鈥濈瓑鎸夐挳銆傝繖涓鎸夐挳閫氬父浣嶄簬鎴愪氦璁板綍欏甸潰鐨勪笂鏂規垨涓嬫柟銆
鐒跺悗錛岀偣鍑燴滃煎嚭鈥濇垨鈥滃煎嚭鎴愪氦鏄庣粏鈥濇寜閽錛岄夋嫨瀵煎嚭鏂囦歡鐨勬牸寮忓拰淇濆瓨璺寰勩備竴鑸鏉ヨ達紝鎴戜滑鍙浠ラ夋嫨瀵煎嚭涓篍xcel鎴朇SV鏍煎紡鐨勬枃浠訛紝榪欐牱鍙浠ユ柟渚垮悗緇鐨勬暟鎹澶勭悊鍜屽垎鏋愩
鏈鍚庯紝鐐瑰嚮鈥滅『璁も濇垨鈥滃煎嚭鈥濇寜閽錛岀瓑寰呰蔣浠跺畬鎴愬煎嚭榪囩▼銆傚煎嚭鐨勯熷害鍙栧喅浜庢垚浜よ板綍鐨勬暟閲忓拰鐢佃剳鎬ц兘絳夊洜緔犮
涓鏃﹀煎嚭瀹屾垚錛屼綘灝卞彲浠ュ湪閫夋嫨鐨勪繚瀛樿礬寰勪腑鎵懼埌瀵煎嚭鐨勬枃浠躲傞氳繃鎵撳紑榪欎釜鏂囦歡錛屼綘灝卞彲浠ユ煡鐪嬪拰鍒嗘瀽鏈熻揣閫愮瑪鎴愪氦鏄庣粏浜嗐
瀵煎嚭鐨勬湡璐ч愮瑪鎴愪氦鏄庣粏鏂囦歡閫氬父鍖呮嫭浠ヤ笅淇℃伅錛氫氦鏄撴棩鏈熴佷氦鏄撴椂闂淬佹垚浜や環鏍箋佹垚浜ゆ暟閲忋佷拱鍗栨柟鍚戠瓑銆傝繖浜涗俊鎮鍙浠ュ府鍔╀綘榪借釜姣忎竴絎旀垚浜ょ殑鎯呭喌錛屽垎鏋愬競鍦虹殑涔板崠鍔涢噺鍜屼氦鏄撹屼負銆
閫氳繃瀵規湡璐ч愮瑪鎴愪氦鏄庣粏鐨勫垎鏋愶紝浜ゆ槗鑰呭拰鎶曡祫鑰呭彲浠ヨ幏鍙栦互涓嬫柟闈㈢殑淇℃伅錛
棣栧厛錛屼簡瑙e競鍦虹殑鎴愪氦鎯呭喌銆傞氳繃鏌ョ湅鎴愪氦浠鋒牸鍜屾垚浜ゆ暟閲忥紝鍙浠ュ垽鏂甯傚満鐨勪環鏍艱蛋鍔垮拰浜ゆ槗媧昏穬搴︺
鍏舵★紝鍒嗘瀽甯傚満鐨勪拱鍗栧姏閲忋傞氳繃緇熻′拱鍏ュ拰鍗栧嚭鐨勬暟閲忓拰姣斾緥錛屽彲浠ヤ簡瑙e競鍦虹殑澶氱┖鍙屾柟鍔涢噺瀵規瘮錛屽垽鏂甯傚満鐨勮蛋鍔垮拰瓚嬪娍銆
鍐嶆★紝鐮旂┒浜ゆ槗鑰呯殑琛屼負鍜岀瓥鐣ャ傞氳繃鍒嗘瀽鎴愪氦璁板綍錛屽彲浠ヤ簡瑙d氦鏄撹呯殑涔板崠琛屼負鍜岀瓥鐣ワ紝鍙戠幇涓浜涙綔鍦ㄧ殑浜ゆ槗鏈轟細銆
鏈鍚庯紝浼樺寲浜ゆ槗絳栫暐鍜岄庨櫓綆$悊銆傞氳繃瀵規湡璐ч愮瑪鎴愪氦鏄庣粏鐨勭爺絀訛紝鍙浠ュ彂鐜頒竴浜涘父瑙佺殑浜ゆ槗閿欒鍜岄庨櫓鍥犵礌錛屼粠鑰屾敼榪涜嚜宸辯殑浜ゆ槗絳栫暐鍜岄庨櫓綆$悊鑳藉姏銆
③ 使用Yahoo! Finance獲取港股歷史數據及簡單事件分析法運用
前言
我為前老闆進行港股數據研究,涉及獲取實時歷史數據與事件分析法應用。使用Yahoo! Finance獲取數據,依賴港交所與香港銀行公會獲取基礎信息。主要工具為Python(Jupyter Notebook與Spyder),輔用Stata。
獲取港股數據
使用yfinance包下載Yahoo! Finance歷史數據。需先安裝yfinance包,可在cmd或Anaconda Prompt快速安裝。
獲取港股股票名單與預處理
通過港交所官方網站獲取港股股票名單與代碼,注意轉換格式以匹配Yahoo! Finance的格式。在Stata中進行簡單處理並篩選。
下載數據
設定時間范圍,循環所有股票代碼,合並數據以獲取港股市場與恆生指數歷史數據。使用pd.DataFrame.concat方法合並數據。
獲取H股與紅籌股名單
識別China-affiliated股票,通過港交所網站或爬蟲獲取H股與紅籌股名單,分別儲存。
獲取無風險利率
參考Lam and Tam (2011 JBF),選取一個月的HIBOR作為無風險利率。直接從香港銀行公會官網爬取數據。
時間分析法
完成所需數據收集後,進行近期事件的簡單時間分析。針對港股市場與China-affiliated股票進行單獨分析。
④ 股票數據爬蟲進階:免費、開源的股票爬蟲Python庫,實測真香
在探索股票數據爬蟲的世界中,選擇合適的Python庫是至關重要的一步。本文將介紹一個強大的免費、開源庫——Easyquotation,它集成了多個股票數據源,包括新浪財經、集思錄、騰訊財經等,幫助投資者獲取實時和歷史數據。
首先,要利用Easyquotation,你需要確保安裝了兩個庫:Requests和Easyquotation。Requests是爬蟲的基礎,用於發送HTTP請求,而Easyquotation則提供了對多個數據源的統一介面。安裝方式靈活,可以通過pip一鍵安裝,或者從GitHub下載源代碼進行安裝。
Easyquotation的核心功能是通過其API靈活地選擇數據源。例如,通過新浪財經獲取實時市場股票數據、從集思錄獲取債息相關的投資品種數據,以及從騰訊財經獲取A股日內行情和港股數據。每個數據源都支持特定的API方法,如獲取實時數據、歷史數據等,使得數據獲取和分析變得高效便捷。
本文通過示例詳細展示了如何使用Easyquotation進行數據爬取。以新浪財經為例,可以輕松獲取全市場股票實時數據,包括交易所上市ETF的實時Ticker數據、個股實時Ticker數據,以及交易所指數的實時數據。在集思錄的數據爬蟲中,可以獲取分級A、分級B、QDII以及ETF的數據,並轉換為DataFrame格式方便分析。騰訊財經的爬蟲功能尤其強大,不僅提供A股的日內分時數據、港股的日線數據,還支持獲取港股的實時行情數據。
在實際應用中,這些數據可以用於量化交易策略的開發、市場趨勢分析、投資組合優化等。通過Easyquotation,用戶可以更加高效地整合和利用來自不同數據源的股票數據,為投資決策提供有力支持。