どんな記事
Pythonで今後も絶対使うだろうな、でも忘れちゃうだろうな、というコードの備忘録です。自分のためのまとめ。
Pandas
df.apply()
の中で変数を使う
「1行前の値」を変数に格納しながら処理する等。row
は処理中の行、row.name
はその行のindex。
import pandas as pd
def b4_day_close( df ) :
b4_date, b4_close, day_close = None, None, None
def apply_logic( row ):
nonlocal b4_date, b4_close, day_close
today, hour = row.name, row.name.hour
diff_seconds = ( today - b4_date ).seconds if b4_date else None
if diff_seconds and diff_seconds > 60 and hour == 16 :
day_close = b4_close
b4_date, b4_close = today, row["c"]
return day_close
return apply_logic
df['b4_day_c'] = df.apply( b4_day_close( df ), axis=1 )
df.apply()
で複数列を返す
import pandas as pd
dt={ "x": [ 1100, 1200, 1300 ],
"y": [ 2100, 2200, 2300 ], }
df = pd.DataFrame(dt)
def fnc( df ) :
return df["x"]+1,df["x"]+2
df[["a","b"]] = df.apply( fnc( df ), axis=1, result_type='expand' )
ちょっとしたバックテストならDataFrameの枠組みで解決できる。
df.plot()
日時のフォーマット
2つのDFを横方向に結合する
import pandas as pd
df_l = _get_df( "N225f", year )
df_r = _get_df( "Topixf", year )
df = df_l.join( df_r, lsuffix="_n", rsuffix="_t" )
Datetime
日付と時刻の列からDatetimeを作成する
import pandas as pd
import datetime as dt
def _get_df( symbol, year ) :
df = pd.read_excel( f'{BASEDIR}/{symbol}_{year}.xlsx',
names=("date","time","open","high","low","close","volume"),
sheet_name='1min' )
df["time"] = df["time"].astype( str )
df["Datetime"] = pd.to_datetime( df["date"].dt.strftime("%x ") + df["time"] )
# Datetime:取引日(営業日) → カレンダーの調整
df.loc[ df["time"]>="16:30:00", "Datetime" ] = df.loc[ df["time"]>="16:30:00", "Datetime" ] + dt.timedelta( days=-1 )
df = df.set_index("Datetime")
Datetimeの加算・減算
import datetime as dt
sample_datetime + dt.timedelta( days=-1 )
Datetimeの差分を求める
import pandas as pd
diff_seconds = ( this_datetime - b4_datetime ).seconds
よく使うPython関連の記事
Python:EDINET企業データの自動取得・スクリーニングを5分ではじめる
EDINETという金融庁が運用している企業情報の開示システム(無料でつかえる企業データ)から、「PER、ROE、配当」などのデータを取得してスクリーニングをする方法。1.無料で取得できるデータ 2.Google Colab をつかえば5分で導入・実行できる 3.全上場銘柄のデータを取得する
programming/google-colab-edinet-screening

Python:投資の「期待値」と 単利・複利の「損益分岐点」を算出、グラフ化
この記事では、以下の手順とコードを紹介しています。 1.投資の「期待値」の算出 2.投資の「単利・複利の『損益分岐点』」の算出 3.算出結果をもとにグラフを描画
programming/google-colab-calculate-trading-edge

Python:TA-Libでテクニカル分析、Plotlyでローソク足の描画
Python でテクニカル分析ができるライブラリ「TA-Lib」を、Google Colab で使用する方法の備忘録。pandas_datareader で価格データを取得、TA-Lib でテクニカル分析をして、Plotly でローソク足のチャートを出力する手順。
programming/google-colab-install-ta-lib

Python:「破産の確率」の計算とグラフ化(コピペするだけ!)
Google Colab および Python で「『破産の確率』を算出する方法」「破産確率表の作成」「破産確率表のグラフ化」「破産の確率の計算式とコードの解説」などを備忘録としてメモ。コードを公開しているので、Google Colab にコピペして実行すれば1分で計算することができます。
programming/google-colab-calc-ruin-probability

Python:Plotlyでアニメーショングラフを作成する
この記事では、以下の手順とコードをご紹介しています。 1.3DのSurfaceグラフのアニメーション 2.Contour(等高線)グラフのアニメーション
programming/google-colab-plotly-animation-graph-surface-contour

開発を承っています
- Pineスクリプト(インジケーターやストラテジー)
- Google Apps Script
- Python
- MQL4
などの開発を承っています。とくに投資関連が得意です。過去の事例は「実績ページ(不定期更新)」でご確認ください。ご相談は「お問い合わせ」からお願いします。

- 記事をシェア