如何撈取台美股所有的股號的資料並儲存於SQLite? Part 2

更新 發佈閱讀 7 分鐘

之前在如何撈取台美股所有的股號的資料並儲存於SQLite? Part 1討論到如何使用stocksymbol撈取台美股股票代碼,在這篇我們繼續介紹如何針對我們撈取的股票代碼進行資料撈取。

You can check this for English version!

raw-image



步驟1: 於Colab筆記本中安裝yahooquery。

!pip install yahooquery


步驟2:

  • 首先,先拿高通(QCOM)來了解回傳資料的結構。
  • 我們發現我們要撈取的收盤價、本益比、均值落在list(details.summary_detail.values())[0]
from yahooquery import Ticker

symbols = ['QCOM']

list(details.summary_detail.values())[0]
raw-image

步驟3: 定義函式get_info,使用try-except避免回傳空值中斷流程。

from yahooquery import Ticker

def get_info(tickers):
try:
details = Ticker(tickers)
tickers = list(details.summary_detail)[0]
previousClose = list(details.summary_detail.values())[0].get('previousClose')
dividendYield = list(details.summary_detail.values())[0].get('dividendYield')
trailingPE = list(details.summary_detail.values())[0].get('trailingPE')
forwardPE = list(details.summary_detail.values())[0].get('forwardPE')
priceToSalesTrailing12Months = list(details.summary_detail.values())[0].get('priceToSalesTrailing12Months')
fiftyDayAverage = list(details.summary_detail.values())[0].get('fiftyDayAverage')
twoHundredDayAverage = list(details.summary_detail.values())[0].get('twoHundredDayAverage')
cursor = con.cursor()

con.execute(" INSERT INTO Tickers_Info (tickers , previousClose , dividendYield, trailingPE , forwardPE, priceToSalesTrailing12Months, fiftyDayAverage, twoHundredDayAverage) VALUES (?, ? , ?, ?, ?, ?, ?, ?) ",
(str(tickers),str(previousClose), str(dividendYield) , str(trailingPE) , str(forwardPE ), str(priceToSalesTrailing12Months), str(fiftyDayAverage) , str(twoHundredDayAverage)))

except:
print(tickers)
pass

return


步驟4: 建立SQLite的資料表以儲存剛剛存取的資料。

import sqlite3
con = sqlite3.connect('/content/drive/MyDrive/data/Stock.db')
cursor = con.cursor()
query = """
CREATE TABLE "Tickers_Info"
(
[Tickers] varchar(50) NOT NULL,
[previousClose] float,
[dividendYield] float,
[trailingPE] float,
[forwardPE] float,
[priceToSalesTrailing12Months] float,
[fiftyDayAverage] float,
[twoHundredDayAverage] float,
PRIMARY KEY(Tickers)
)
"""

cursor.execute(query)

con.commit()
cursor.close()


步驟5: 執行

  • 於Part 1建立的股票代碼資料表撈取存成df_Tickers
  • 於每列的股號(row[0])輸入get_info。
import pandas as pd

con = sqlite3.connect('/content/drive/MyDrive/data/Stock.db')
cursor = con.cursor()
con.execute('''DELETE FROM Tickers_Info''')
con.commit()

df_Tickers = pd.read_sql('select distinct symbol from Tickers', con)

for row in df_Tickers.to_records(index=False):
tickers_list = []
tickers_list.append(str(row[0]))
get_info(tickers_list)

con.commit()
con.close()


步驟6: 執行後,我們可以進行簡單的分析,比如找尋PE<10和收盤價低於200天均線的股票。

import sqlite3
import pandas as pd
con = sqlite3.connect('/content/drive/MyDrive/data/Stock.db')
df_data = pd.read_sql('select * from Tickers_Info where forwardPE < 10 and twoHundredDayAverage - previousClose >=0', con)
con.close()
df_data

If you want to support Informula, you can buy us a coffee here :)

𝗕𝘂𝘆 𝗺𝗲 𝗮 𝗰𝗼𝗳𝗳𝗲𝗲

Thank you and more to come :)


留言
avatar-img
Informula 生產力工坊
8會員
23內容數
Informula 致力於提升工作生產力,分享生產力工具使用情境、簡單的程式、資料處理、數據分析、網路爬蟲應用等。 尋求長期的自我成長要求或職場臨時急救包的朋友歡迎一起交流。
2023/10/11
債券是發行者為籌集資金而發行、在約定時間支付一定比例的利息,並在到期時償還本金的一種有價證券。根據不同發行方,可分為政府債券、金融債券以及公司債券。投資者購入債券,就如借出資金予政府、大企業或其他債券發行機構。這三者中政府債券因為有政府稅收作為保障,因而風險最小,但收益也最小。公司債券風險最大,
Thumbnail
2023/10/11
債券是發行者為籌集資金而發行、在約定時間支付一定比例的利息,並在到期時償還本金的一種有價證券。根據不同發行方,可分為政府債券、金融債券以及公司債券。投資者購入債券,就如借出資金予政府、大企業或其他債券發行機構。這三者中政府債券因為有政府稅收作為保障,因而風險最小,但收益也最小。公司債券風險最大,
Thumbnail
2023/08/22
之前在如何計算ETF的PE ratio — 00878?中討論到如何使用計算00878的PE以進行對於此ETF的估值,我們發現關鍵在於如何有效撈取一檔ETF的成分和持有股數和其市值(或發行股數),我們會持續這個系列的原因是每個發行商給的資料略有不同
Thumbnail
2023/08/22
之前在如何計算ETF的PE ratio — 00878?中討論到如何使用計算00878的PE以進行對於此ETF的估值,我們發現關鍵在於如何有效撈取一檔ETF的成分和持有股數和其市值(或發行股數),我們會持續這個系列的原因是每個發行商給的資料略有不同
Thumbnail
2023/08/18
在上一篇如何計算ETF的PE ratio — QQQ?我們討論到如何計算出ETF QQQ的PE,有些朋友詢問為什麼跟有些平台的數字還要低很多?
Thumbnail
2023/08/18
在上一篇如何計算ETF的PE ratio — QQQ?我們討論到如何計算出ETF QQQ的PE,有些朋友詢問為什麼跟有些平台的數字還要低很多?
Thumbnail
看更多
你可能也想看
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
《轉轉生》(Re:INCARNATION)為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,結合拉各斯街頭節奏、Afrobeat/Afrobeats、以及約魯巴宇宙觀的非線性時間,建構出關於輪迴的「誕生—死亡—重生」儀式結構。本文將從約魯巴哲學概念出發,解析其去殖民的身體政治。
Thumbnail
《轉轉生》(Re:INCARNATION)為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,結合拉各斯街頭節奏、Afrobeat/Afrobeats、以及約魯巴宇宙觀的非線性時間,建構出關於輪迴的「誕生—死亡—重生」儀式結構。本文將從約魯巴哲學概念出發,解析其去殖民的身體政治。
Thumbnail
對於剛接觸Python程式的使用者來說,要一口氣學會爬蟲可能相對困難,但若想即時且輕鬆獲得台股相關數據,你可以利用證交所所提供的API進行數據蒐集。只需要簡單幾行程式碼,就能輕鬆抓到台股上千支股票的每日資訊,是不是棒呆了!!
Thumbnail
對於剛接觸Python程式的使用者來說,要一口氣學會爬蟲可能相對困難,但若想即時且輕鬆獲得台股相關數據,你可以利用證交所所提供的API進行數據蒐集。只需要簡單幾行程式碼,就能輕鬆抓到台股上千支股票的每日資訊,是不是棒呆了!!
Thumbnail
因為工作的關係,需要在EXCEL產生和台股有關的資訊。 要抓取台股的方式有很多,譬如說用EXCEL 現在的功能從網頁匯入,但是畢竟愛寫程式的人就是因為懶,不想每次都用滑鼠點點點,所以就想要如何用VBA克服。 還好研究了一下,備齊以下幾個工具,就可以了。 (1)要有一個可以解析JSON格式的Li
Thumbnail
因為工作的關係,需要在EXCEL產生和台股有關的資訊。 要抓取台股的方式有很多,譬如說用EXCEL 現在的功能從網頁匯入,但是畢竟愛寫程式的人就是因為懶,不想每次都用滑鼠點點點,所以就想要如何用VBA克服。 還好研究了一下,備齊以下幾個工具,就可以了。 (1)要有一個可以解析JSON格式的Li
Thumbnail
透過證交所提供的臺灣證券交易所發行量加權股價指數成分股暨市值比重,可以知道每一檔股票對指數所呈現的比重為多少。主要內容分享XQ報價源股價抓取、證交所加權股價指數成分股認識、加權指數貢獻點數計算、加權指數貢獻點數總表等,讓您可以瞭解主力的想法與控盤方式。
Thumbnail
透過證交所提供的臺灣證券交易所發行量加權股價指數成分股暨市值比重,可以知道每一檔股票對指數所呈現的比重為多少。主要內容分享XQ報價源股價抓取、證交所加權股價指數成分股認識、加權指數貢獻點數計算、加權指數貢獻點數總表等,讓您可以瞭解主力的想法與控盤方式。
Thumbnail
善用工具,可以讓大家功課做的更快更舒服,我們先複習一下喔。 一、先做出一個所有可轉債的頁面及Excel,方法如下: 二、第二個請用做出來的Excel,使用這個公式,提取可轉債的前四碼並且加上.TW,=LEFT(A2,4)&".TW",如下圖 三、提期出來的文字複製到一個全新的
Thumbnail
善用工具,可以讓大家功課做的更快更舒服,我們先複習一下喔。 一、先做出一個所有可轉債的頁面及Excel,方法如下: 二、第二個請用做出來的Excel,使用這個公式,提取可轉債的前四碼並且加上.TW,=LEFT(A2,4)&".TW",如下圖 三、提期出來的文字複製到一個全新的
Thumbnail
之前在如何撈取台美股所有的股號的資料並儲存於SQLite? Part 1討論到如何使用stocksymbol撈取台美股股票代碼,在這篇我們繼續介紹如何針對我們撈取的股票代碼進行資料撈取。
Thumbnail
之前在如何撈取台美股所有的股號的資料並儲存於SQLite? Part 1討論到如何使用stocksymbol撈取台美股股票代碼,在這篇我們繼續介紹如何針對我們撈取的股票代碼進行資料撈取。
Thumbnail
之前在如何撈取台美股所有的股號的資料並儲存於SQLite? Part 1討論到如何使用stocksymbol撈取台美股股票代碼,在這篇我們介紹另一種方法撈取清單。
Thumbnail
之前在如何撈取台美股所有的股號的資料並儲存於SQLite? Part 1討論到如何使用stocksymbol撈取台美股股票代碼,在這篇我們介紹另一種方法撈取清單。
Thumbnail
在此系列文章,我們將討論如何在Google Colab的環境下,撈取所有台美股的股票代碼,並獲取相關細節,最後將獲取的資訊存取於SQLite資料庫中。在此篇文章中,我們先來探討如何獲取所有的股票代碼。 步驟1 於stocksymbol註冊帳號並獲取API金鑰。 於Colab筆記本中安
Thumbnail
在此系列文章,我們將討論如何在Google Colab的環境下,撈取所有台美股的股票代碼,並獲取相關細節,最後將獲取的資訊存取於SQLite資料庫中。在此篇文章中,我們先來探討如何獲取所有的股票代碼。 步驟1 於stocksymbol註冊帳號並獲取API金鑰。 於Colab筆記本中安
Thumbnail
In this series of article, we will discuss how to pull stock detailed information for All Tickers in the US and TW Market.
Thumbnail
In this series of article, we will discuss how to pull stock detailed information for All Tickers in the US and TW Market.
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News