[專題實作]以Yfinance之臺股資料進行市場寬度指標驗證-Step2以Yfinance抓取名單中證券2010-2023收盤價
承前篇, Step1爬取上市櫃公司股票與ETF代碼名單 ,有了名單之後當然就要來開始爬資料啦!Yfinance的資料抓取很簡單,這邊因為資料的需求我只要Close收盤價,需要其他的小夥伴自己研究蛤。 在本文中,我們將介紹如何使用 Python 中的 requests 、 time 、 os 、 csv 和 pandas 模組,以及 yfinance 庫來爬取台灣上市櫃股票及 ETF 的數據。這些數據將會被處理並保存為 CSV 文件,以供後續分析使用。 1. 讀取股票代碼 首先,我們從 CSV 文件中讀取股票代碼,這些代碼將被用於後續的數據爬取。以下是讀取 CSV 文件並將股票代碼存入列表的代碼: python import csv path = r"D:\市場寬度 專題\2023上市櫃股票及ETF代碼(for yfinance)-1.csv" TW_TWO = [] with open (path, "r" , newline= "" , encoding= 'utf_8_sig' ) as csvfile: reader = csv.reader(csvfile) for row in reader: TW_TWO.append(row[ 1 ]) # 取出股票代碼 del TW_TWO[ 0 ] # 刪除第一行(索引) print (TW_TWO) # 檢查讀取結果 2. 爬取股票收盤價 接下來,我們使用 yfinance 庫來爬取每個股票代碼從 2010 年 1 月 1 日到 2023 年 2 月 1 日的收盤價,並將結果存入一個 DataFrame 中。 python import time import pandas as pd import yfinance as yf df_stock = pd.DataFrame() for i in TW_TWO: time.sleep( 1 ) # 防止過快的請求 print (i) # 顯示當前處理的股票代碼 df = yf.download(i, start= '2010-01-01...