發表文章

目前顯示的是 2月, 2023的文章

[專題實作]以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...

[專題實作]以Yfinance之臺股資料進行市場寬度指標驗證-Step1爬取上市櫃公司股票與ETF代碼名單

圖片
          哎,老實說我不太曉得要怎麼開頭,總之呢去年年底參加了工研院主辦的 數據分析師養成班(第2梯) 想了解課程介紹的可以點連結去看一下課程的內容,但這篇也不是要寫心得(辣個以後再說),但到了結訓還是要有專題吧~,專題的題目說真的超~極~難~想~,後來還是在親哥的提點下決定來搞一把這個專題,題目還寫得有夠豪洨「 以Yfinance之臺股資料進行市場寬度指標驗證 」,總而言之一切的一切就在於2022年我開始努力存錢然後歐印台股,套的一蹋糊塗,於是我哥拋了一個影片給我,說裡面有韭菜們需要的答案(並不是這樣 影片連結我直接加在圖裡面了,韭韭們可以直接點圖看連結! 不過呢,韭不韭一回事,Code才是最重要的對吧!? 前情提要! 先去ANACONDA的 Prompt 派起來!  如果跟我一樣用Visua Studio 可以直接在終端機pip(不要問我怎麼安裝環境,我的環境是前男友幫我搞的,感恩前任讚嘆前任!) 線上的記得要加!(例:jupyter上要用 ! pip install pandas) 大神們可以跳過這段~這純粹是當初的小白我看老半天找不到要去哪裡pip所以給新手村玩家參考用! pip install pandas 中國來的(並不是 pip install requests (用來爬蟲的) pip install yfinance(後面會用到的財經模組庫) pip install backtesting(後面會用到的回測工具) 那我們開始吧!複製貼上! 首先是爬取證交所上市櫃公司的股票代號清單 來源網址:自己看蛤 上市證券一覽:https://isin.twse.com.tw/isin/C_public.jsp?strMode=2 上櫃證券一覽:https://isin.twse.com.tw/isin/C_public.jsp?strMode=2 這邊我只要取得上市、上櫃公司股票代碼和ETF 其他權證類都不要 另外因為後續的Yfinance所取得的代碼要求上市+".TW"、上櫃+".TWO",這邊直接把他們全部都給SOLO起來(by 刀鋒寶貝寧貴人) 基本上模組大家抄來抄去就這樣啦 反正複製貼上什麼的最棒了(謎 很多小細節我都標在程式碼裡面 "操作段落" 或 #特別備註 import...