跳至主要内容

TQQQ mock 原始碼

· 2 分鐘閱讀
Eric Cheng

因為有網友想要這篇文章【槓桿型 ETF 適不適合長期持有?回測 TQQQ】中提到的 TQQQ mock 的原始碼,就直接貼在這裏了

先算出 QQQ 和 TQQQ 兩者的年化報酬率差距,當時的數據是 2.8437

年化報酬率:57.09% / 20.12% = 2.8437

完整程式碼如下:

import ffn
import matplotlib.pyplot as plt
import pandas as pd
%matplotlib inline

prices = ffn.get('qqq', start='1999-01-01')

prices['qqq_shift'] = prices['qqq'].shift(1)
prices['qqq_diff'] = prices['qqq'].diff(1)
prices['qqq_diff_tqqq'] = (2.8374 * (prices['qqq_diff'] / prices['qqq_shift'])) + 1
prices['tqqq_mock'] = 0

nRow = 0
while(nRow < prices.shape[0]):
if (nRow == 0):
# 初始化資料
tqqq_mock = 1
else:
tqqq_mock = prices['qqq_diff_tqqq'][nRow] * tqqq_mock
prices.iloc[nRow, prices.columns.get_loc('tqqq_mock')] = tqqq_mock
nRow = nRow + 1

print(prices)

這裏就把 tqqq mock 的資料算出來了,再來就可用 ffn 繪圖和計算資料

# 價格走勢圖
prices[["qqq", "tqqq_mock"]].rebase().plot()
plt.grid()

# 最大虧損
prices[["qqq", "tqqq_mock"]].to_drawdown_series().plot()
plt.grid()

plt.show()

# 計算
stats=prices[["qqq", "tqqq_mock"]].calc_stats()
stats.display()

程式很簡單,沒幾行 code ,UPRO 和 TMF 也可以以此類推,不過其實我是 JAVA 工程師,對 Python 不太熟,如果有什麼比較好的寫法,也可以留言告訴我



版權聲明

,轉載請註明出處
本文連結: https://tech.havocfuture.tw/blog/tqqq-mock-source-code



這是 google 廣告