python(パイソン)とyfinance

年の変動、月の変動、週の変動、日の変動について考察してみる。pythonの準備。

##################
年足データの取得
##################
import yfinance as yf
import pandas as pd
import os

# 例として、1985年から2024年までのデータを取得
data = yf.download('JPY=X', start='1985-01-01', end='2024-01-01')

# 年足にリサンプリング
yearly_data = data.resample('Y').agg({'Open': 'first', 'High': 'max', 'Low': 'min', 'Close': 'last'})

# 真の変動幅(最高値と最安値の差)を計算
yearly_data['True Change'] = yearly_data['High'] - yearly_data['Low']

# 真の変動率を計算(最高値と最安値の差を年初の始値で割った値)
yearly_data['True Change %'] = (yearly_data['True Change'] / yearly_data['Open']) * 100

# 保存するデスクトップのパスを指定
desktop_path = os.path.join(os.path.expanduser("~"), "Desktop", "yearly_data.csv")

# データをCSV形式で保存
yearly_data.to_csv(desktop_path, index=True)

print(f"ファイルがデスクトップに保存されました: {desktop_path}")
##################
月足データの取得
##################
import yfinance as yf
import pandas as pd
import os

# 例として、1985年から2024年までのデータを取得
data = yf.download('JPY=X', start='1985-01-01', end='2024-01-01')

# 月足にリサンプリング
monthly_data = data.resample('M').agg({'Open': 'first', 'High': 'max', 'Low': 'min', 'Close': 'last'})

# 真の変動幅(最高値と最安値の差)を計算
monthly_data['True Change'] = monthly_data['High'] - monthly_data['Low']

# 真の変動率を計算(最高値と最安値の差を月初の始値で割った値)
monthly_data['True Change %'] = (monthly_data['True Change'] / monthly_data['Open']) * 100

# 保存するデスクトップのパスを指定
desktop_path = os.path.join(os.path.expanduser("~"), "Desktop", "monthly_data.csv")

# データをCSV形式で保存
monthly_data.to_csv(desktop_path, index=True)

print(f"ファイルがデスクトップに保存されました: {desktop_path}")

##################
週足データの取得
##################
import yfinance as yf
import pandas as pd
import os

# 例として、1985年から2024年までのデータを取得
data = yf.download('JPY=X', start='1985-01-01', end='2024-01-01')

# 週足にリサンプリング
weekly_data = data.resample('W').agg({'Open': 'first', 'High': 'max', 'Low': 'min', 'Close': 'last'})

# 真の変動幅(最高値と最安値の差)を計算
weekly_data['True Change'] = weekly_data['High'] - weekly_data['Low']

# 真の変動率を計算(最高値と最安値の差を週初の始値で割った値)
weekly_data['True Change %'] = (weekly_data['True Change'] / weekly_data['Open']) * 100

# 保存するデスクトップのパスを指定
desktop_path = os.path.join(os.path.expanduser("~"), "Desktop", "weekly_data.csv")

# データをCSV形式で保存
weekly_data.to_csv(desktop_path, index=True)

print(f"ファイルがデスクトップに保存されました: {desktop_path}")

##################
日足データの取得
##################
import yfinance as yf
import pandas as pd
import os

# 例として、1985年から2024年までのデータを取得
data = yf.download('JPY=X', start='1985-01-01', end='2024-01-01')

# 真の変動幅(最高値と最安値の差)を計算
data['True Change'] = data['High'] - data['Low']

# 真の変動率を計算(最高値と最安値の差を当日の始値で割った値)
data['True Change %'] = (data['True Change'] / data['Open']) * 100

# 保存するデスクトップのパスを指定
desktop_path = os.path.join(os.path.expanduser("~"), "Desktop", "daily_data.csv")

# データをCSV形式で保存
data.to_csv(desktop_path, index=True)

print(f"ファイルがデスクトップに保存されました: {desktop_path}")