ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [파이썬/백테스트/적립식] 매달 비트코인을 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% 정도?

    반응형
Designed by Tistory.