bookloveru2
2021年5月14日4 分
最終更新: 2021年11月1日
今回も、コピペで行ける様、しっかりとpythonコードの解説をしていきますので、グーグルコラボのご準備をお願い致します。
上下の画像はマネックス証券様より。
とても分かり易い説明です(*^-^*)私も同証券を愛用しています💛
https://info.monex.co.jp/technical-analysis/indicators/005.html
単位:ドル💲
'average return' '平均リターン' : 37.995,
'maximum drawdown' '最大ドローダウン' :4564.0,
'profit factor' '利益率' : 1.305,
'recovery factor' '回復率': 0.448,
'riskreward ratio' 'riskreward比率': 0.466, ※1
'sharpe ratio' 'シャープレシオ': 0.07, ※2
'stop loss' 'ストップロス': 0
'take profit': 0,
'total profit' '総利益': 2044.998,
'total trades' '総取引回数' : 19,
'win rate' '勝率': 73.684
※1.リスクリワードレシオ(損益比率) = 勝ちトレードの平均利益 ÷ 負けトレードの平均損失
https://www.oanda.jp/lab-education/blog_column/risk_reward/
OANDAより
※2.シャープ・レシオ = ポートフォリオ収益率 ÷ ポートフォリオ収益率の標準偏差σ
#@title バックテスト RSI
from stock_backtest import Backtest
from pprint import pprint
import datetime
number = "2019-5-14" #@param {type:"string"}
start = number
end = datetime.date.today()
ticker = "V" #@param [""] {allow-input: true}
class MyBacktest(Backtest):
def strategy(self):
rsi = self.rsi(period=10)
ema = self.ema(period=20)
atr = self.atr(period=20)
lower = ema - atr
upper = ema + atr
self.buy_entry = (rsi < 30) & (self.df.C < lower)
self.sell_entry = (rsi > 70) & (self.df.C > upper)
self.sell_exit = ema > self.df.C
self.buy_exit = ema < self.df.C
bt = MyBacktest(
ticker, # ticker
shares=100, # number of shares (default=1)
start=start, # start date (default="")
end=end, # end date (default="")
data_dir="data", # data directory (default=.)
)
pprint(bt.run())
pythonでプログラミングがしたい!!
pythonを学びたい!という方には、
オンラインプログラミング教室『Aidemy アイデミー』がお勧めです。
ご自身でプログラム環境を用意する必要は無く、サイトへアクセスするだけです。 創業者は東京大学工学部卒の石川聡彦さん。
著書に『人工知能プログラミングのための数学がわかる本』(KADOKAWA/2018年)など。
無料で、お試しもできますので安心です。
お時間ある方は下記リンクを覗いてみてはいかがでしょうか(*'ω'*)。