"金利を見れば投資はうまくいく"を読んだあと投資環境スコアを出してみた コード付き

秋の終わりぐらいの位置かな。

米国債買ったけど2024年から国債10年利回りがあがって損失中。

 

2024/1/5の投資環境スコアは2

 

政策金利前年差: -2
長短金利差: -2
長期金利前年差: 2
社債スプレッド前年差: 2
米ドル指数前年差: 2

投資環境スコア: 2


追記(2024/1/6)

ISM 製造業 景況 指数が2023/12/1の時点で50割れで長短 金利 差 の 0% 割れなので2024~2025に景気 後退 局面 入り するのでは?

 

 

コードは見やすく設定するのがめんどいので直貼り

```python
from datetime import datetime, timedelta
import numpy as np
import time
from fredapi import Fred
import pandas as pd
fred_api = Fred(api_key="my_fred_api")


data_range_df = pd.DataFrame(pd.date_range(start='2000-01-01', end=datetime.now()+timedelta(days=30), freq='D'),columns=["datetime"])
data_range_df = data_range_df.sort_values("datetime")
data_range_df
政策金利_df = fred_api.get_series('FEDFUNDS')
政策金利_df = 政策金利_df.reset_index()
政策金利_df.columns = ["datetime","政策金利"]
data_range_df['政策金利'] = data_range_df['datetime'].map(dict(zip(政策金利_df['datetime'],政策金利_df['政策金利'])))
政策金利_df = data_range_df.set_index('datetime').fillna(method='ffill')
time.sleep(1)

data_range_df = pd.DataFrame(pd.date_range(start='2000-01-01', end=datetime.now()+timedelta(days=30), freq='D'),columns=["datetime"])
data_range_df = data_range_df.sort_values("datetime")
data_range_df
国債10年利回り_df = fred_api.get_series('DGS10')
国債10年利回り_df = 国債10年利回り_df.reset_index()
国債10年利回り_df.columns = ["datetime","国債10年利回り"]
data_range_df['国債10年利回り'] = data_range_df['datetime'].map(dict(zip(国債10年利回り_df['datetime'],国債10年利回り_df['国債10年利回り'])))
国債10年利回り_df = data_range_df.set_index('datetime').fillna(method='ffill')
time.sleep(1)


data_range_df = pd.DataFrame(pd.date_range(start='2000-01-01', end=datetime.now()+timedelta(days=30), freq='D'),columns=["datetime"])
data_range_df = data_range_df.sort_values("datetime")
data_range_df
社債スプレッド_df = fred_api.get_series('BAA10Y')
社債スプレッド_df = 社債スプレッド_df.reset_index()
社債スプレッド_df.columns = ["datetime","社債スプレッド"]
data_range_df['社債スプレッド'] = data_range_df['datetime'].map(dict(zip(社債スプレッド_df['datetime'],社債スプレッド_df['社債スプレッド'])))
社債スプレッド_df = data_range_df.set_index('datetime').fillna(method='ffill')
time.sleep(1)


data_range_df = pd.DataFrame(pd.date_range(start='2000-01-01', end=datetime.now()+timedelta(days=30), freq='D'),columns=["datetime"])
data_range_df = data_range_df.sort_values("datetime")
data_range_df
米ドル指数_df = fred_api.get_series('TWEXBGSMTH')#TWEXBGSMTH # DTWEXBGS
米ドル指数_df = 米ドル指数_df.reset_index()
米ドル指数_df.columns = ["datetime","米ドル指数"]
data_range_df['米ドル指数'] = data_range_df['datetime'].map(dict(zip(米ドル指数_df['datetime'],米ドル指数_df['米ドル指数'])))
米ドル指数_df = data_range_df.set_index('datetime').fillna(method='ffill')
time.sleep(1)

now_date = (datetime.now()-timedelta(days=1)).replace(hour=0,minute=0,second=0,microsecond=0)#.timestamp()
last_year_date = (datetime.now()-timedelta(days=365)).replace(hour=0,minute=0,second=0,microsecond=0)#.timestamp()

政策金利前年差 = np.where(政策金利_df.loc[now_date]-政策金利_df.loc[last_year_date]<=0.25, 2, -2)[0]

diff = 国債10年利回り_df.loc[now_date].values[0] - 政策金利_df.loc[now_date].values[0]
長短金利差 = None
if diff > 1: 
    長短金利差 = 2
elif diff >= 0: 
    長短金利差 = 0
elif diff < 0: 
    長短金利差 = -2

長期金利前年差 = np.where(国債10年利回り_df.loc[now_date]-国債10年利回り_df.loc[last_year_date]>=0, 2, -2)[0]
社債スプレッド前年差 = np.where(社債スプレッド_df.loc[now_date]-社債スプレッド_df.loc[last_year_date]<=0, 2, -2)[0]
米ドル指数前年差 = np.where(米ドル指数_df.loc[now_date]-米ドル指数_df.loc[last_year_date]<=1, 2, -2)[0]

print("政策金利前年差:", 政策金利前年差)
print("長短金利差:", 長短金利差)
print("長期金利前年差:", 長期金利前年差)
print("社債スプレッド前年差:", 社債スプレッド前年差)
print("米ドル指数前年差:", 米ドル指数前年差)
print()
print("投資環境スコア:", 政策金利前年差 + 長短金利差 + 長期金利前年差 + 社債スプレッド前年差 + 米ドル指数前年差)

```

 

 

 

 

 

 

 

金利を見れば投資はうまくいく

https://www.amazon.co.jp/%E6%94%B9%E8%A8%82%E7%89%88-%E9%87%91%E5%88%A9%E3%82%92%E8%A6%8B%E3%82%8C%E3%81%B0%E6%8A%95%E8%B3%87%E3%81%AF%E3%81%86%E3%81%BE%E3%81%8F%E3%81%84%E3%81%8F-%E5%A0%80%E4%BA%95%E6%AD%A3%E5%AD%9D-ebook/dp/B0B2CZSGB2/ref=tmm_kin_swatch_0?_encoding=UTF8&qid=1704466162&sr=8-1