レバレッジ付き商品のシミュレーション(TQQQ, SQQQ, SOXL, SOXS)

以前レバレッジ付きNASDAQ100のシミュレーションに関する記事を執筆したのですが、あれ、間違っていました…

そこで、今回は2022年11月新たにSBI証券での取り扱いが始まったNASDAQ100 3倍ETFであるTQQQ, SQQQのシミュレーション、それに加えて、フィラデルフィア半導体指数 SOX連動の3倍ETFである、SOXL, SOXSのシミュレーションを行ってみました。

TQQQ, SQQQのシミュレーション

実際にシミュレーションした結果はこちらになります!
前回は2倍レバレッジのシミュレーションを行って、中途半端な一致具合だったのですが、99%一致していそうな感じです。

こちら、TQQQ, SQQQが始まった(?)2010年からのQQQ, TQQQ, SQQQ, QQQからシミュレートしたTQQQ, SQQQの5つを重ねたグラフです。見事に一致していますね。

最近、コロナの少し前からのチャートを拡大したものがこちらです。

やはり、十分にうまくシミュレーションできていそうです。

今回使ったプログラムはこちらです。

import pandas as pd
import pandas_datareader as web
import matplotlib.pyplot as plt
import numpy as np

# NASDAQ100, TQQQ, SQQQの一日毎の終値を取得
start='2010-04-01'
end='2022-05-20'
df_QQQ = web.DataReader(data_source='yahoo', name='^NDX',start=start,end=end) 
df_TQQQ = web.DataReader(data_source='yahoo', name='TQQQ',start=start,end=end) 
df_SQQQ = web.DataReader(data_source='yahoo', name='SQQQ',start=start,end=end) 
df_QQQ.iat[1,3]
df_TQQQ.iat[1,3]
df_SQQQ.iat[1,3]
ini_QQQ = df_QQQ.iat[1,3]
ini_TQQQ = df_TQQQ.iat[1,3]
ini_SQQQ = df_SQQQ.iat[1,3]

# TQQQのsimulation
df_QQQ_Tsim = []
data_TQQQ = df_QQQ.iat[1,3]
df_QQQ_Tsim.append(data_TQQQ)
for i in range(1,len(df_QQQ.index)-1):
    data_TQQQ = (1+3*(df_QQQ.iat[i+1,3]/df_QQQ.iat[i,3]-1))*data_TQQQ
    df_QQQ_Tsim.append(data_TQQQ)

# SQQQのシミュレーション
df_QQQ_Ssim = []
data_SQQQ = df_QQQ.iat[1,3]
df_QQQ_Ssim.append(data_SQQQ)
for i in range(1,len(df_QQQ.index)-1):
    data_SQQQ = (1-3*(df_QQQ.iat[i+1,3]/df_QQQ.iat[i,3]-1))*data_SQQQ
    df_QQQ_Sim.append(data_SQQQ)

# 取得したデータとシミュレーション結果をプロット
plt.plot(df_QQQ['Close']*1/ini_QQQ,label='QQQ')
plt.plot(df_TQQQ['Close']*1/ini_TQQQ,label='TQQQ')
plt.plot(df_SQQQ['Close']*1/ini_SQQQ,label='SQQQ')
plt.plot(df_QQQ.index[1:],np.array(df_QQQ_Tsim)*1/ini_QQQ,label='TQQQ sim')
plt.plot(df_QQQ.index[1:],np.array(df_QQQ_Ssim)*1/ini_QQQ,label='SQQQ sim')
plt.xlabel('date')
plt.ylabel('value')
plt.legend()
plt.show()

前回との違いは、日々の値動きの大きさの3倍を変動させたのではなく、日々の値動きの変動率の3倍を変更させたところになります。

TQQQだけでなく、SQQQもうまくシミュレーションできました。

SOX指数のシミュレーション

SOX指数、SOXL、SOXSに対しても同様のシミュレーションを行ってみました。

こちらは少しずれがあるようですが、運用にかかる手数料などを考えると、悪くない一致具合でしょうか。(手数料の分、シミュレーションより小さくなると思いきや大きくなってるのが気になりますね。)

参考までに、2019年からのデータを拡大したものはこちら

コロナ初期のSOXSの上昇、最近のSOXL下落がよくわかりますね。

こちらのプログラムは、上記のプログラムの中で、”^NDX”を”^SOX”、”TQQQ”を”SOXL”、”SQQQ”を”SOXS”、に変更すればOKです!

以上、参考にしていただけたらと思います。

コメント

タイトルとURLをコピーしました