나이가 드니 가끔 공식등 이 가물 가물하다. 그래서 아예 코드를 만들어 놓고 복사해서 사용하기로 했다.
# yahoo data 부르기
import yfinance as yf
start = '2010-10-09'
end = '2024-06-20'
bitcoin=yf.download('BTC-USD', start, end)
bitcoin.reset_index(inplace=True)
# Date 및 Close Price Column을 불러, column 이름 채우기
bitcoin_data=bitcoin[['Date', 'Close']]
bitcoin_data.columns = ['Date', 'Close']
# 수익율 구하기
import numpy as np
bitcoin_data['Return'] = np.log(bitcoin_data['Close']).diff().mul(100) # rescale to faciliate optimization
bitcoin_data = bitcoin_data.dropna()
bitcoin_data['Return'] = np.log(bitcoin_data['Close']).diff().mul(100) # rescale to faciliate optimization
bitcoin_data = bitcoin_data.dropna()
#결과보기
bitcoin_data.head()
Date Close Return
2014-09-19 394.795990 -7.240151
2014-09-20 408.903992 3.511124
2014-09-21 398.821014 -2.496766
2014-09-22 402.152008 0.831742
2014-09-23 435.790985 8.033259
그런데 오늘 다시 돌려보니 경고문이 나온다.... 그래서 코드를 다시 수정 (빨강색 2줄) 했다.
# yahoo data 부르기
import pandas as pd
import yfinance as yf
start = '2010-10-09'
end = '2024-06-20'
bitcoin=yf.download('BTC-USD', start, end)
bitcoin.reset_index(inplace=True)
# Date 및 Close Price Column을 불러, column 이름 채우기
bitcoin_data=bitcoin[['Date', 'Close']]
bitcoin_data.columns = ['Date', 'Close']
#수익율 구하기
import numpy as np
bitcoin_data = bitcoin_data.copy() ## 원본 DataFrame을 복사합니다.그려면 귀찮은 에러가 발생하지 않는다....
bitcoin_data.loc[:, 'Return'] = np.log(bitcoin_data['Close']).diff().mul(100) # rescale to faciliate optimization
bitcoin_data = bitcoin_data.dropna()
# 결과보기
bitcoin_data.head()