AIとファイナンス

AIとファイナンスの架け橋、それがこのブログの目指すところです。兼業投資家向けに、Pythonを駆使して株やFXの分析を「自分で」行えるようになるための情報を提供します。ニューラルネットワークを活用した市場予測から、実証済みの金融理論まで、全てのコードを公開し、誰もが活用できるように!是非色々なコードで遊んでみてください!

【現代ポートフォリオ理論】全世界株式(オルカン)の資産配分は正しいのか?「最適ポートフォリオ」のパフォーマンス分析【Python】

皆さん、こんにちは!今回は、私たちの最適ポートフォリオを探す旅をさらに進め、全世界株式(俗に言うオルカン)が果たして最適な資産配分をしているのかを見てみましょう。MSCIのAll Country World Index(ACWI)など全世界の株式の指数に連動するETF投資信託を皆様もお持ちだったり、検討されたことがあるのではないでしょうか。

ACWIの場合は以下のように米国株式64%、日本株式5.6%にヨーロッパ各国、新興国の株が続きます。

MSCI ACWI 組み入れ比率

そこでみなさんも気になるのが「果たしてこの比率は本当に最適な配分なのでしょうか」?ということですよね!ここでもPythonと現代ポートフォリオ理論の力を借りてデータを分析してみました!コードへのリンクは最下部にあるので皆さまも是非試してください。また現代ポートフォリオ理論については詳しくこちらのエントリーで説明しています。

 

データの準備と分析
早速yfinanceライブラリを使い、VTI(米国株式)、VEA(先進国株式除く米国)、VWO(新興国株式)の3つのETFから成るポートフォリオの過去10年間のデータを分析しました。まずは、これらのETFの日次調整終値をダウンロードし、日次リターンを計算します。

import yfinance as yf
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

# 対象ETFのシンボルリスト
symbols = ['VTI', 'VEA', 'VWO']  # ここに好きな銘柄を足してみてくださいね!

# 過去10年分の日足データをダウンロード
data = {symbol: yf.download(symbol, period='10y', interval='1d')['Adj Close'] for symbol in symbols}

# 各ETF終値データをDataFrameに結合
close_prices = pd.DataFrame(data)

# 日次リターンを計算
daily_returns = close_prices.pct_change().dropna()

効率的フロンティアの視覚化
効率的フロンティアは、与えられたリスクレベルで最大のリターンを得られるポートフォリオの組み合わせを示します。この概念を視覚化するために、ランダムに生成した10,000のポートフォリオを分析し、それぞれのリターン、ボラティリティ、そしてシャープ比率を計算しました。

num_assets = len(symbols)
num_portfolios = 10000
all_weights = np.zeros*1
return_arr = np.zeros(num_portfolios)
volatility_arr = np.zeros(num_portfolios)
sharpe_arr = np.zeros(num_portfolios)

# 年間リスクフリーレートを仮定(例:2%)
risk_free_rate = 0.02
np.random.seed(100)

for i in range(num_portfolios):
    # ランダムな重みを生成
    weights = np.random.random(num_assets)
    weights /= np.sum(weights)
    all_weights[i, :] = weights
   
    # 期待リターン
    return_arr[i] = np.dot(weights, daily_returns.mean()) * 252
   
    volatility_arr[i] = np.sqrt(np.dot(weights.T, np.dot(daily_returns.cov() * 252, weights)))
   
    # シャープ比率
    sharpe_arr[i] = (return_arr[i] - risk_free_rate) / volatility_arr[i]

# 最大シャープ比率のポートフォリオを探す
max_sharpe_idx = sharpe_arr.argmax()
max_sharpe_return = return_arr[max_sharpe_idx]
max_sharpe_volatility = volatility_arr[max_sharpe_idx]

# 効率的フロンティアのプロット
plt.scatter(volatility_arr, return_arr, c=sharpe_arr, cmap='viridis')
plt.colorbar(label='Sharpe Ratio')
plt.xlabel('Volatility(Risk)')
plt.ylabel('Expected Return')

# 最大シャープ比率のポートフォリオをマーキング
plt.scatter(max_sharpe_volatility, max_sharpe_return, color='red', s=50, edgecolors='black')

plt.title('Efficient Frontier')
plt.show()

# 最適ポートフォリオの重み
print("最適ポートフォリオの重み:", all_weights[max_sharpe_idx, :])

3銘柄の効率的フロンティア

最適な配分[VTI, VEA, VWO]

やはり米国株が強く、安定しているため米国株にかなり偏ったポートフォリオを最適な配分として出してきますね。ではこのポートフォリオオルカンの対象指数として採用されることも多いMSCI ACWIのリターンを比べたらどうなるのでしょうか?

# ACWIのデータをダウンロード
acwi_data = yf.download('ACWI', period='10y', interval='1d')
acwi_close = acwi_data['Adj Close']

# ACWIのトータルリターンを計算
acwi_total_return = (acwi_close.iloc[-1] / acwi_close.iloc[0]) - 1
# 最適ポートフォリオの重み(先ほどの結果を使用)
optimal_weights = all_weights[max_sharpe_idx, :]

# 最適ポートフォリオのトータルリターン計算
optimal_portfolio_return = (daily_returns * optimal_weights).sum(axis=1) + 1
optimal_portfolio_total_return = optimal_portfolio_return.cumprod().iloc[-1] - 1

print(f"ACWIのトータルリターン: {acwi_total_return:.2%}")
print(f"最適ポートフォリオのトータルリターン: {optimal_portfolio_total_return:.2%}")

結果

過去いろいろな記事でオルカンとその他の比較を行ってきましたがまたもやオルカン以外に軍配が上がってしまいました。これは米国株に偏重したポートフォリオ配分になっているため当たり前ですよね。

ただ気をつけないければならないのは今回国は違えど同じ資産クラス(株式)でポートフォリオを組んでいますね?ということは相関係数もかなり1に近い(暴落するときは株式全部暴落する)ので本当の意味での分散投資にはなっていないんです。例えば逆相関になることが多いといわれる債権関係や不動産なども混ぜることで一つの資産クラスが暴落しても耐えることできる盤石な「最適ポートフォリオ」が完成します。

 

以下のリンクからもコードにアクセスできます。銘柄の追加もできるので皆様も是非遊んでみてくださいね!みんなも大好きな’SOXL’を追加してみると。。。

colab.research.google.com

 

過去の現代ポートフォリオ理論に関するエントリー

ai-and-finance.net

ai-and-finance.net

クリックお願いします!

参考サイト

https://www.msci.com/documents/10199/8d97d244-4685-4200-a24c-3e2942e3adeb

*1:num_portfolios, num_assets

【米国ETF】2024/3/13 保有残高【NISA】

今週の運用状況も公開していこうと思います。現在Side Fireを目指して活動中です。


週間サマリー: 今週は買い増し等の大きな動きはありませんでした。円安のおかげもあり1000万円という節目を超えれていたのでここ数日のドル円の影響をどう受けているか気になります。ちなみに買い増しやポートフォリオの自動管理方法はこのブログ内で自家製のリバランスプログラムを紹介しているのでみなさん是非ご覧くださいね!さらに追加の資金投入は先日な買付日/積み立て日についてシミュレーションをした結果もご紹介していますのでご参考にしてください。

昨日の米国市場では、ダウ・ジョーンズ工業平均はわずかに上昇して0.10%プラスの39,043.32ポイントで終了しました。一方で、S&P 500は0.19%マイナスの5,165.31ポイント、ナスダック総合指数は0.54%下落して16,177.77ポイントで取引を終えています​​​​。

特にナスダックの下落が目立っています。この下落には、大手テクノロジー企業の株価が影響していると考えられます。具体的には、NvidiaやTeslaなどの株価が下落し、テクノロジー株全体を引き下げる形となりました​​。

また、原油価格は2.63%上昇し、79.60ドルで取引を終了しました。金価格も上昇し、0.61%プラスの2,179.40ドルで取引が行われました​​。一般的に原油価格の上昇は、エネルギーコストの上昇を意味し、これは物価水準の上昇につながります。金価格の上昇も同様に、物価上昇への懸念から安全資産への投資として見られることが多いです。この間のCPIの発表でもインフレはまだまだ収まっていなさそうな雰囲気でしたよね。当面の間は物価の上昇はおさまらない、という見通しで間違いはなさそうですね。

2024/3/13 取引残高

米国ETF $54,616.40 (¥8,061,380 @147.60)

投資信託 ¥2,110,876

現金 ¥0

2024/3/13 米国ETF

2024/3/13 投資信託

2024/3/13 資産推移

ぜひクリックお願いします!

参考サイト

U.S. Stock Market Headlines | Breaking Stock Market News | Reuters

Latest Stock Market News (yahoo.com)

 

 

【Python】積立投資の最適日はいつ?全世界株式(オルカン)とS&P500で検証する資産形成の秘訣【積立NISA】

こんにちは、みなさん!今日は、投資の世界でよく議論されるテーマの一つ、「毎月何日に積み立てるのが最も良いのか」という質問に焦点を当てたいと思います。私たちの日常生活において、定期的な積立投資は賢明な財産形成戦略として広く認識されています。しかし、具体的にどのタイミングで市場に参入するべきかは、なかなか難しい問題です。

このブログでは、Pythonとyfinanceライブラリを使って、実際にデータを分析し、この疑問に答えてみたいと思います。分析の対象とするのは、「S&P500」と「全世界株式(オルカン)」です。S&P500とオルカンのどっちが投資として優れているか過去の記事で分析してみましたが、特定の日付で積み立てた場合、どちらかの優位性が逆転したりするのでしょうか?過去10年分の日足データを用いて、毎月特定の日に$1000分の購入を行った場合のポートフォリオの最終的な価値を比較します。

さらに、この分析を通じて、積立日の選択が投資成績にどの程度影響を与えるのかを明らかにします。投資は未来を予測するものではありませんが、過去のデータから学び、より良い決定を下すための洞察を得ることができます。それでは、早速Pythonコードを見てみましょう!いつも通り最下部にコードへのリンクを貼っています!

Pythonコードとその解説

まずは、必要なライブラリをインストールし、インポートするところから始めます。

# ライブラリのインポート
import yfinance as yf
import pandas as pd
import matplotlib.pyplot as plt

このコードブロックでは、データ分析と視覚化に必要なyfinancepandasmatplotlibライブラリをインポートしています。

次に、S&P500(記号:SPY)と全世界株式(オルカン、記号を仮にACWIとします)の過去20年分の日足データをダウンロードします。

# S&P500と全世界株式(オルカン)のデータをダウンロード
sp500 = yf.download('SPY', start='2014-01-01', end='2024-01-01')
world_stocks = yf.download('ACWI', start='2014-01-01', end='2024-01-01')

私たちの分析を深めるために、今回は毎月の積立日を1日から31日まで変えながら、それぞれの最終ポートフォリオ価値を計算してみました。ここで重要なのは、特定の日が存在しない場合(例えば、2月29日以降や、30日、31日)、その月の最終営業日に積立を行うようにプログラムを調整した点です。

def simulate_investment_improved(data, start_year=2014, end_year=2024):

    results = {}
    for day in range(1, 32):
        investment = 1000  # 毎月の投資額
        shares_owned = 0  # 所有株数

        for year in range(start_year, end_year):
            for month in range(1, 13):
                # 月の開始日を設定
                start_date = pd.Timestamp(year=year, month=month, day=1)
                # 月の終了日を設定
                end_date = start_date + pd.offsets.MonthEnd(1)

                # 指定日を生成
                try:
                    if day > start_date.days_in_month:
                        target_date = end_date  # 月の最終日
                    else:
                        target_date = pd.Timestamp(year=year, month=month, day=day)
                except ValueError:
                    # 存在しない日(例:2月30日)の場合、月の最終日を使用
                    target_date = end_date

                # 価格データを取得し、株を購入
                try:
                    price_on_day = data.at[target_date.strftime('%Y-%m-%d'), 'Open']
                    shares_bought = investment / price_on_day
                    shares_owned += shares_bought
                except KeyError:
                    # 指定日が休市の場合はスキップするか、次の営業日にシフトするロジックを追加(省略)
                    continue

        final_value = shares_owned * data.iloc[-1]['Open']
        results[day] = final_value
   
    return results
# S&P500と全世界株式(オルカン)に対する改良版シミュレーションの実行
results_sp500_improved = simulate_investment_improved(sp500)
results_world_stocks_improved = simulate_investment_improved(world_stocks)


# 結果の視覚化
plt.figure(figsize=(15, 7))
plt.plot(list(results_sp500_improved.keys()), list(results_sp500_improved.values()), label='S&P500')
plt.plot(list(results_world_stocks_improved.keys()), list(results_world_stocks_improved.values()), label='All Country')
plt.title('Final Value of Portfolio')
plt.xlabel('Date')
plt.ylabel('Portfolio Value ($)')
plt.legend()
plt.grid(True)
plt.xticks(range(1, 32))
plt.show()

結果

この分析から得られる洞察として、直近10年で見れば25日積み立てた場合極端に、それこそ15%も最終的な利益に開きがあるのが見て取れます。逆に毎月6日から15日に積み立てるのが最も効率がいいということがわかりますね!

これは例えば日本では25日に給料日が集中し、みんなの積立日として集中しているからなんでしょうか。アメリカの場合1日と15日の月2回給料がある会社も多いらしく、やはり給料をもらって即積立、というのは得策ではなさそうです。

投資戦略を考える上で、このような分析は非常に価値があります。毎月の積立日を決める際に、ただ盲目的に日を選ぶのではなく、データに基づいた意思決定を行うことが、長期的な財産形成において重要な鍵となるわけですね!

 

colab.research.google.com

 

 

 

【米国ETF】2024/3/6 保有残高【NISA】

今週の運用状況も公開していこうと思います。現在Side Fireを目指して活動中です。


週間サマリー: 今週は買い増し等の大きな動きはありませんでした。資産自体は買い増しのおかげでついに1000万円を超えることができました!その一方で円安の恩恵を受けているだけ、という見方もできるので浮かれている場合でもないです。ちなみに買い増しやポートフォリオの自動管理方法はこのブログ内で自家製のリバランスプログラムを紹介しているのでみなさん是非ご覧くださいね!

今日の米国市場は、全体としてプラスの動きを見せました。主要な指数は以下の通りです:

  • ダウ・ジョーンズ工業平均は、0.28%上昇し、38,770.41ポイントへ!
  • ナスダック総合指数は、1.30%の上昇で16,240.17ポイント!
  • S&P 500指数も0.91%上昇し、5,151.18ポイントです

TMX Moneyの市場活動の要約によれば、個別の銘柄ではNew York Community Bancorp Inc.が9.014%上昇し、Direxion Daily Semiconductor Bull 3X Sharesは6.294%上昇しました。一方で、Victoria's Secret & Co.は28.61%の大幅な下落を記録しました​​。NYCBの上昇は前年比で大幅に増加した2.4億ドルの純利益を報告したことに起因しています​​。また、1億ドルの資本を私的投資家から調達し、その中にはスティーブン・ムニューシン元財務長官のリバティ・ストラテジック・キャピタルからの投資も含まれていました​​。これらの要因が、NYCBの株価上昇の背後にある主要な動因と見たいです。また、SOXLの上昇は言わずもがな、半導体産業が好調なおかげですね!VSCOは売り上げ目標が市場予測に達することができなかったのが主な原因です。

2024/2/28 取引残高

米国ETF $54,453.19 (¥8,065,334.54 @148.12)

投資信託 ¥2,141,888

現金 ¥0

2024/3/7 米国ETF

2024/3/7 投資信託

2024/3/7 資産推移

クリックお願いします!

参考サイト

New York Community Bancorp, Inc. (NYCB) Stock Price, News, Quote & History - Yahoo Finance

Victoria's Secret & Co. (VSCO) Stock Price, News, Quote & History - Yahoo Finance

TMX Money | Dow Jones, NYSE, Nasdaq | US Stock Market Summary Today | US Stock Market Movers, Activity and Commodities (USD)

 

【Python】S&P500 vs オルカン:あなたのポートフォリオに最適なのはどっち?【投資】

こんにちは、AIとファイナンスに興味のある皆さん!今日は、投資家の間でよく議論されるテーマ、「S&P500とオルカン(全世界株式)、どちらに投資するべきか」について、PythonとYfinanceを使って探求してみましょう。過去にはシャープ比率を使ってこの比較を行い、S&P500が優位であることを見てきましたが、今回は異なる評価軸を用いてさらに深く掘り下げます。

投資判断を下すにあたり、リターンだけでなくリスクも考慮することが重要です。そこで、以下の評価軸を用いて両者を比較してみます。

  1. 年平均リターン:長期的なパフォーマンスを評価します。
  2. ボラティリティ標準偏差:価格変動の大きさを測り、リスクを評価します。
  3. 最大ドローダウン:最大の価格下落を測り、潜在的なリスクを評価します。

これらの指標を用いることで、単にリターンが高いだけでなく、そのリターンを得るためにどれだけのリスクを負ったのかを理解することができます。では、Pythonコードを使ってこれらの指標を計算し、可視化してみましょう。最下部にコードへのリンクを貼っていますので皆さま是非お試しください。

Pythonコードと解説

ステップ1: 必要なライブラリをインポート

!pip install yfinance
import yfinance as yf
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

このステップでは、データ取得にyfinance、データ操作にpandas数値計算numpy、そして可視化にmatplotlibをインポートしています。

ステップ2: データのダウンロード

# S&P500(例:SPY)と全世界株式(例:VT)のティッカーシンボルを定義
symbols = ["SPY", "VT"]

# 過去10年分の日次データをダウンロード
data = yf.download(symbols, start="2013-01-01", end="2023-01-01")["Adj Close"]

ここでは、yf.download関数を使用して、S&P500を代表するETFSPY」と全世界株式を代表するETF「VT」の過去10年間の調整後終値をダウンロードしています。

ステップ3: 年平均リターン、ボラティリティ、最大ドローダウンの計算

# 年平均リターン
annual_returns = data.pct_change().mean() * 252

volatility = data.pct_change().std() * np.sqrt(252)

# 最大ドローダウン
rolling_max = data.cummax()
daily_drawdown = data/rolling_max - 1.0
max_drawdown = daily_drawdown.cummin().min()

# 結果を表示
print(f"年平均リターン:\n{annual_returns}\n")
print(f"ボラティリティ:\n{volatility}\n")
print(f"最大ドローダウン:\n{max_drawdown}\n")

このコードブロックでは、pct_changeメソッドを使って日次リターンを計算し、年平均リターンとボラティリティを求めています。最大ドローダウンは、現在の最大値からの下落率を計算し、その最小値を取得することで求めます。

ステップ4: 結果の可視化

# 指標ごとにグラフを作成
fig, axes = plt.subplots(3, 1, figsize=(10, 15))

# 年平均リターン
annual_returns.plot.bar(ax=axes[0], title="Annual Return")

volatility.plot.bar(ax=axes[1], title="Volatility")

# 最大ドローダウン
max_drawdown.plot.bar(ax=axes[2], title="Max Drawdown")

plt.tight_layout()
plt.show()

最後に、計算した指標を棒グラフで可視化しています。これにより、S&P500とオルカンのリターン、リスクを直感的に比較することができます。

結果

まとめ

S&P500とオルカン(全世界株式)、どちらに投資するのがいいのかは一概には言えませんが、今回紹介した指標を用いることで、自分のリスク許容度や投資目標に合わせた選択が可能になります。実際に今回の結果では年平均リターンではS&P500に軍配が上がり、ボラティリティと最大ドローダウンはほぼ同じです。これはつまりリスクはあまり変わらないがリターンではS&P500が勝るので投資としても(今回採用した指標で比較すると)優れている、という結果になります。

今回はPythonとYfinanceを活用することで、これらの分析を手軽に行えることもお分かりいただけたかと思います。投資は自分自身で情報を得て、自分に合った判断を下すことが重要です。この記事が、皆さんの投資判断の一助となれば幸いです。

 

 

クリックもお願いします!

colab.research.google.com

ai-and-finance.net

【米国株】財務データをグラフで見る方法:米国株の純利益を比較してみよう【Python】

皆さん、こんにちは!前回は、Yfinanceを使って米国株の財務データを手に入れる方法をご紹介しましたが、今回はそのデータをどう活用するか、さらに一歩踏み込んでみましょう。具体的には、アップル(AAPL)、マイクロソフト(MSFT)、アマゾン(AMZN)の三大巨頭の純利益をグラフで比較してみます。これにより、数字だけの表を見るよりも直感的に企業の業績を理解することができるようになります。

PythonとMatplotlibを使った簡単なステップで、皆さんもデータビジュアライゼーションのマスターになることができますよ!最下部にはコードを書いたColab Notebookへのリンクを貼っていますので是非試してみてください。

ステップ1: 必要な準備をしよう

まずは、グラフを描画するために必要なmatplotlibライブラリをインストールしておきましょう。そして、前回取得した財務データを利用できるように、yfinanceも準備しておきます。

!pip install yfinance
import yfinance as yf

!pip install matplotlib
import matplotlib.pyplot as plt

ステップ2: 純利益のデータを集めよう

各企業の純利益は、その企業の損益計算書から取得できます。ここでは、Yfinanceを使ってAAPL、MSFT、AMZNの損益計算書から純利益のデータを抽出します。このデータは、企業の実際の収益力を示す重要な指標です。

# マイクロソフトのティッカーを設定
aapl_ticker = yf.Ticker("AAPL")
# マイクロソフトのティッカーを設定
msft_ticker = yf.Ticker("MSFT")
# アマゾンのティッカーを設定
amzn_ticker = yf.Ticker("AMZN")
# 各企業の純利益データを取得
aapl_net_income = aapl_ticker.financials.loc["Net Income"]
msft_net_income = msft_ticker.financials.loc["Net Income"]
amzn_net_income = amzn_ticker.financials.loc["Net Income"]

ステップ3: 比較グラフを描こう

最後に、取得した純利益のデータをもとに、年度ごとの比較グラフを作成します。このグラフを見れば、一目でどの企業がより良い業績を上げているのか、その変動がどのように年度ごとに異なるのかがわかります。グラフの作成には、matplotlibライブラリを使用し、棒グラフで視覚的に比較します。

# 年度をX軸のラベルとして取得
years = aapl_net_income.index.year

# データをプロット
plt.figure(figsize=(10, 6))
plt.bar(years - 0.2, aapl_net_income.values.flatten(), width=0.2, label='AAPL', color='r')
plt.bar(years, msft_net_income.values.flatten(), width=0.2, label='MSFT', color='g')
plt.bar(years + 0.2, amzn_net_income.values.flatten(), width=0.2, label='AMZN', color='b')

# グラフのタイトルと軸ラベルを設定
plt.title('Net Income per FY')
plt.xlabel('Fiscal Year')
plt.ylabel('Net Income (USD)')
plt.xticks(years)  # X軸に年度を表示
plt.legend()  # 凡例を表示

# グラフを表示
plt.show()

結果

このプロセスを通じてデータを視覚化することで、より深い洞察を得ることができます。グラフはデータを理解しやすくするだけでなく、プレゼンテーションやレポートで使用する際にも非常に効果的です。

さあ、皆さんもこれらのステップを試して、自分だけの分析を始めてみませんか?投資の世界は数字で溢れていますが、それらを上手くナビゲートする方法を知ることが、賢い投資家への第一歩です。次回は、さらに異なる指標で企業を比較する方法や、他の可視化ツールを使ったテクニックを紹介しますので、お楽しみに!

投資は情報から始まります。適切なデータとツールを使って、あなたの投資をより有益なものにしましょう。では、また次回お会いしましょう!

是非クリックお願いします。

colab.research.google.com

 

 

【米国株】Yfinanceで米国株の財務データをスクレイピングする方法【Python】

こんにちは、投資とテクノロジーに興味のある皆さん!今日は、PythonとYfinanceライブラリを使用して、米国株の財務データを簡単にダウンロードする方法を紹介します。財務データと言えば、貸借対照表(バランスシート)、損益計算書(プロフィットアンドロス)、キャッシュフロー計算書が心臓部。これらのデータを手に入れることができれば、企業の健全性を分析したり、より賢い投資判断を下すことができます。

では、なぜYfinanceなのか?簡単です、無料でありながら強力で、多くの財務情報に簡単にアクセスできるからです。今回は、アップル(AAPL)のデータを例に取り上げ、実際にどのようにこれらの情報を取得するのか、一緒に見ていきましょう。

さあ、Pythonのコードを見てみましょう!最下部にコードへのリンクを貼っていますのでぜひ試してみてください!

Pythonコードと解説

まずは、必要なライブラリをインストールして、インポートしましょう。

!pip install yfinance
import yfinance as yf

ここでyfinanceをインストールし、yfとしてインポートします。これが全ての始まりです。次に、特定の銘柄のデータをダウンロードします。今回は「AAPL」を例にします。

ticker = yf.Ticker("AAPL")

yf.Tickerメソッドを使用して、AAPLのティッカーオブジェクトを作成します。これにより、AAPLに関連する様々なデータへアクセスできるようになります。

さて、ここからが本題です。貸借対照表(バランスシート)、損益計算書(プロフィットアンドロス)、キャッシュフロー計算書を取得しましょう。

# バランスシートの取得
balance_sheet = ticker.balance_sheet

# 損益計算書の取得
profit_loss = ticker.financials

# キャッシュフロー計算書の取得
cash_flow = ticker.cashflow

各メソッド(balance_sheet、financials、cashflow)を呼び出すことで、それぞれの財務データをPandasのDataFrame形式で取得できます。これらのデータを分析することで、企業の財務健全性や業績の良し悪しを判断するのに役立ちます。

実際にバランスシートを見てみましょう!

結果

このように年ごとに財務諸表がしっかりダウンロードできているのがわかりましたね!

これで、Yfinanceを使用して、重要な財務データを簡単に取得する方法をマスターしました。この情報をもとに、より賢い投資判断を下していきましょう。

投資はリスクを伴いますが、適切な情報を持っていれば、そのリスクを大きく減らすことができます。PythonとYfinanceを武器に、賢い投資家になりましょう!

皆さんの投資旅が実り多いものになりますように。次回も、テクノロジーを活用した投資のヒントをお届けします。お楽しみに!

 

よければクリックお願いします。

 

colab.research.google.com