如何撈取台美股所有的股號的資料並儲存於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
債券投資,不只是高資產族群的遊戲 在傳統的投資觀念中,海外債券(Overseas Bonds)常被貼上「高資產族群專屬」的標籤。過去動輒 1 萬甚至 10 萬美元的最低申購門檻,讓許多想尋求穩定配息的小資族望而卻步。 然而,在股市波動劇烈的環境下,尋求穩定的美元現金流與被動收入成為許多投資人
Thumbnail
債券投資,不只是高資產族群的遊戲 在傳統的投資觀念中,海外債券(Overseas Bonds)常被貼上「高資產族群專屬」的標籤。過去動輒 1 萬甚至 10 萬美元的最低申購門檻,讓許多想尋求穩定配息的小資族望而卻步。 然而,在股市波動劇烈的環境下,尋求穩定的美元現金流與被動收入成為許多投資人
Thumbnail
透過川普的近期債券交易揭露,探討債券作為資產配置中「穩定磐石」的重要性。文章分析降息對債券的潛在影響,以及股神巴菲特的操作策略。並介紹玉山證券「小額債」平臺,如何讓小資族也能低門檻參與海外債券市場,實現「低門檻、低波動、固定收益」的務實投資方式。
Thumbnail
透過川普的近期債券交易揭露,探討債券作為資產配置中「穩定磐石」的重要性。文章分析降息對債券的潛在影響,以及股神巴菲特的操作策略。並介紹玉山證券「小額債」平臺,如何讓小資族也能低門檻參與海外債券市場,實現「低門檻、低波動、固定收益」的務實投資方式。
Thumbnail
解析「債券」如何成為資產配置中的穩定錨,提供低風險高回報的投資選項。 藉由玉山證券的低門檻債券服務,投資者可輕鬆入手,平衡風險並穩定財務。
Thumbnail
解析「債券」如何成為資產配置中的穩定錨,提供低風險高回報的投資選項。 藉由玉山證券的低門檻債券服務,投資者可輕鬆入手,平衡風險並穩定財務。
Thumbnail
相較於波動較大的股票,債券能提供固定現金流,而玉山證券推出的小額債,更以1000 美元的低門檻,讓學生與新手也能參與全球優質企業債投資。玉山E-Trader平台即時報價、條件式篩選與清楚的交易流程等特色,大幅降低投資難度,對於希望分散風險、建立穩定現金流的人來說,玉山小額債是一個值得嘗試的理財起點。
Thumbnail
相較於波動較大的股票,債券能提供固定現金流,而玉山證券推出的小額債,更以1000 美元的低門檻,讓學生與新手也能參與全球優質企業債投資。玉山E-Trader平台即時報價、條件式篩選與清楚的交易流程等特色,大幅降低投資難度,對於希望分散風險、建立穩定現金流的人來說,玉山小額債是一個值得嘗試的理財起點。
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