日光
2021年7月某日、海は人でごった返していそうなので、久々に電車で日帰りの遠出。浅草から東武鉄道日光線を使って栃木の日光へ行ってきた。電車に乗る前に軽く浅草を観光して道中電車内で食べる人形焼を購入。久しぶりの浅草寺は、午前中だけど鮮明な日差しが照していて、建造物がよく映えていた。
東武線の浅草駅は初めての利用。駅ビルに入ると、ホームが2階にある。
電車は特急「きりふり」。特急券(指定席のチケット)を購入して乗車。
電車内で飲んだ抹茶のペットボトルと人形焼。
蓋の裏に抹茶の粉が仕込んであって、蓋を開けると、粉末が水に落ちて新鮮な抹茶ができるという仕組み。本物の抹茶の味と風味がして、甘い人形焼とよく合う。
二時間ほどで日光駅に到着。こちらはやや雲が多く、昼過ぎには夕立が降ったりした。2B世界遺産めぐりのバスで日光東照宮へと向かう。電車から降りた乗客のほとんどがこのバスに乗るので、すぐに満員になった。乗れずに次のバス待ちといいう人も数名いた。バスの本数はそこそこありそうなので、人混みを避けたい場合は待つかタクシー利用が良いと思われる。
終点のバス停で下車すると、目の前に大きな神社があり、周りには大きな杉が沢山あった。東照宮は横の参道を行けばあるとのことでヒグラシの鳴き声が心地よい杉の参道を抜けて東照宮へと向かう。
実際の象を見たことのない狩野探幽が想像で造ったとされる象の彫刻らしい。目がぬけさく先生。
凛々しいやつ。
下の虎が家康で、その上に秀吉か光秀が座っているというという説もある?知らんけど。
3月21日、22日
土曜日は祝日で午後から一宮。モモ腰。一宮にしては人が少なくてゆっくり遊べた。
夜はコナビール。パイナップルの酸味がいい感じでおいしい。
日曜日は雨が酷く海へは行かず。
代わりに道の駅八千代へ。
地酒。ちょいえぐみあり。
昼はトロサバフライ定食。
google colabとyahooquery
google colabで米国株データを取得して、複数の銘柄を簡便に視覚化してみた。
その備忘録。
yahooqueryというライブラリーを使う。
まず、pipでyahooqueryのインストールする。
!pip install yahooquery
流れとして、
1. check_listに興味のある銘柄をリストで入力
2. for文で銘柄のTickerを一つずつインスタンス化
3. インスタンス変数summary_detailをpandasのDataFrameに格納
4. DataFrameをgoogleドライブの所定の場所にcsvで保存
from yahooquery import Ticker import pandas as pd import datetime check_list = ['DKL','QQQ','ABBV','T','PFE','K','KMB','BBY','USB','MMM','TGT','SQ','ISRG','NEE','IBM','XOM','KMI','WMB','MO','DOW'] df = pd.DataFrame(columns=check_list) for stock_name in check_list: ticker = Ticker(stock_name) for k, v in ticker.summary_detail.items(): df[stock_name] = pd.Series(v) filename = '/content/drive/MyDrive/StocksUSA'+str(datetime.datetime.now().date()) +'.csv' df.to_csv(filename)
保存したcsvを開くと、株データ一覧が見られる。
Tickerで取得できる値は、
'previousClose' = 前日終値
'open' = 始値
'dayLow', 'dayHigh' = 最安値、最高値
'dividendRate' = 一株配当額
'dividendYield' = 配当率
'beta’ = ベータ値
‘trailingPE', 'forwardPE' = PER、PER(予)
'volume' = 出来高
'bid', 'ask', 'bidSize', 'askSize' = 売値、買値、売値数、買値数
'priceToSalesTrailing12Months' = PSR
'fiftyDayAverage' = 50日平均
などで、
表を見るのは大変なので、matplotlibでグラフ化。
流れとしては、
1. csvをDataFrameで読み込み行列を入れ替える。
2. xstr, ystr, cstr変数にそれぞれx,y軸とカラーコードで表すカラム名を代入。
x軸に株価、y軸に配当利回り、beta値をカラーコードを使って表示する場合、
開始時の株価 = 'open'、配当率 = 'dividendYeild'、ベータ値 = 'beta'を使用すれば良い。
これらの変数を任意に変えることで調べたい組み合わせでプロットできる。
例)
PSRを見たい時は、'priceToSalesTrailing12Months'
PERは、'trailingPE'
などを代入する、
3. 保存したcsvを元にグラフを作成してpdfで保存。
import matplotlib.pyplot as plt df = pd.read_csv(filename,index_col=0).T xstr, ystr, cstr = 'open','dividendYield','beta' for i in [xstr, ystr, cstr]: df[i]=df[i].astype(float) x, y, c = df[xstr].tolist(),df[ystr].tolist(),df[cstr].tolist() fig = plt.figure(figsize=(10, 8)) ax = fig.add_subplot(111,title=str(xstr+' vs '+ystr+' vs '+cstr)) axa = ax.scatter(x=x,y=y,c=c,s=50,cmap=plt.cm.get_cmap('RdYlBu')) ax.set_xlabel(xstr) ax.set_ylabel(ystr) cbar=plt.colorbar(axa) cbar.set_label(cstr,size=14) for i, txt in enumerate(check_list): ax.annotate(txt, (x[i], y[i]),fontsize=20) plt.grid() fig.savefig(filename.replace('.csv','.pdf')) fig.show()
出来上がった散布図はこんな感じ。
一株あたりの価格が安い(割安というわけではない)が、配当利回りが高くて市場の変動の影響を受けにくそうな銘柄 (betaが小さい。TやMO)が一目でわかる。
beta値がないETFなど、欠損値を含む銘柄はプロットされない。
ポートフォリオに含まれる(あるいは加えたり外したりする)銘柄のリストを作っておいて、どの銘柄にするかを決めるときにサクッと選べる。
購入は自己責任で。
3月7日日曜日 2021
北東風につき海には行かず。
道の駅いちかわでコーヒーを飲んで、どら焼きを買って帰る。
その後、グーグルコラボでiDecoのアセットアロケーションを検討するためのコードを書いたりしてダラダラ過ごした。
手数料込みのリターンとシャープレシオを任意の商品の組み合わせかつ任意の期間で自動算出できるようにした。
2018年から21年1月の期間でシャープレシオ2以上でスクリーニングしたらこんな感じ。
組み合わせた時のリスク計算で使う商品間の相関係数はこんな感じ
プログラミングできるようになって世界が変わった気がする。