-
[파이썬/백테스트/적립식] 매달 비트코인을 10만원씩 구입했다면?Python/파이썬과 주식 2025. 2. 19. 20:54반응형
2018년부터 매달 비트코인을 10만원씩 구입했다면...
from datetime import datetime import FinanceDataReader as fdr import matplotlib.pyplot as plt start_date = datetime.strptime('2018-01-01', '%Y-%m-%d') end_date = datetime.strptime('2025-01-31', '%Y-%m-%d') buy_money = 100_000 df = fdr.DataReader('BTC/KRW', start_date, end_date) df = df[(start_date <= df.index) & (end_date >= df.index)] df = df[['Close']].resample('ME').last() df['money'] = buy_money df['money_cumsum'] = df['money'].cumsum() df['btc_num'] = df['money'] / df['Close'] df['btc_cumsum'] = df['btc_num'].cumsum() df['btc_cumsum(KRW)'] = df['btc_cumsum'] * df['Close'] print(df) print(f"{df['money_cumsum'][-1]:,}, {int(df['btc_cumsum(KRW)'][-1]):,}") plt.plot(df['btc_cumsum(KRW)'].index, df['btc_cumsum(KRW)'], label='backtest', color='violet') plt.plot(df['money_cumsum'].index, df['money_cumsum'], label='cumulative', color='b') plt.legend(loc='upper left') plt.show()
결과는?
Close money ... btc_cumsum btc_cumsum(KRW) 2018-01-31 10926969.0 100000 ... 0.009152 1.000000e+05 2018-02-28 11284321.0 100000 ... 0.018014 2.032704e+05 2018-03-31 7393685.0 100000 ... 0.031539 2.331863e+05 2018-04-30 9880828.0 100000 ... 0.041659 4.116273e+05 2018-05-31 8092129.5 100000 ... 0.054017 4.371115e+05 ... ... ... ... ... ... 2024-09-30 86001912.0 100000 ... 0.528474 4.544977e+07 2024-10-31 99662824.0 100000 ... 0.529477 5.276920e+07 2024-11-30 136009424.0 100000 ... 0.530213 7.211390e+07 2024-12-31 136200528.0 100000 ... 0.530947 7.231523e+07 2025-01-31 149780368.0 100000 ... 0.531614 7.962540e+07
8,500,000원 => 79,625,400원
2020년부터 시작했다면?
6,100,000 => 30,224,953
월복리 연리 52~53% 정도?
반응형