目的
株式コードから株価情報を調べるためのコードを作成してみました。コードは、copilotを使用して作成しました。
出力は、下記のようにしています。
社名 株式コード PER ROE 自己資本比率 配当利回り PBR
0 NS SOLUTIONS CORPORATION 2327 21.834608 0.12227 11.431 2.10 2.505156
1 SOFTBANK GROUP CORP 9984 12.453234 0.10550 137.406 0.61 0.865052
2 TOYOTA MOTOR CORP 7203 7.042254 0.14547 107.389 3.72 0.981000
Code
numeric_codes内に取得したいコード名を追加すると、情報が取得できます。取得したい情報を増やしたい場合は、リンクを参考に取得した項目名を追加することで取得項目を増やすことができます。
Get_stock_information.py
import yfinance as yf
import pandas as pd
#stock codes
numeric_codes = ['2327', '9984', '7203']
# Prepare an empty list to hold data
data = []
# Loop through each stock code to collect data
for stock_code in numeric_codes:
stock_data = yf.Ticker(stock_code + '.T') # '.T'を追加してデータを取得
try:
# Extract relevant data
short_name = stock_data.info.get('shortName', 'N/A') # 社名
yfpe_ratio = stock_data.info.get('trailingPE', 'N/A') # PER
roe = stock_data.info.get('returnOnEquity', 'N/A') # ROE
debt_to_equity = stock_data.info.get('debtToEquity', 'N/A') # 自己資本比率
dividend_yield = stock_data.info.get('dividendYield', 'N/A') # 配当利回り
pb_ratio = stock_data.info.get('priceToBook', 'N/A') # PBR
# Append the data as a row
data.append([short_name,stock_code,yfpe_ratio, roe, debt_to_equity, dividend_yield, pb_ratio])
except Exception as e:
print(f"Error retrieving data for {stock_code}: {e}")
# Create DataFrame with the collected data
columns = ["社名","株式コード", "PER", "ROE", "自己資本比率", "配当利回り", "PBR"]
df = pd.DataFrame(data, columns=columns)
# Display the DataFrame
print(df)
# Save to CSV
csv_file_name = "stock_data.csv"
df.to_csv(csv_file_name, index=False)