커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
수익률 누적곱 질문
undefined주차
북마크
사**일
댓글
1
추천
0
조회수
8
조회수
8
답변 완료

#기본설정

!pip install yfinance pandas_datareader finance-datareader

from pandas_datareader import data as pdr

import yfinance as yf

yf.pdr_override()

import numpy as np

import pandas as pd

import FinanceDataReader as fdr



#삼성전자

df = fdr.DataReader('005930','2018')

df=df[['Close']]

df['ma']=df.rolling(3).mean().shift(1)

df['action']=np.where(df['Close']>df['ma'],'buy','sell')

df['action_temp']=df['action'].shift(1)


df.iloc[-1,-1]='sell'

cond_buy=(df['action']=='buy')&(df['action_temp']=='sell')

cond_sell=(df['action']=='sell')&(df['action_temp']=='buy')

df_buy=df[cond_buy].reset_index()

df_buy.columns=['날짜','사는시점종가','이평값3','행동1','행동2']

df_sell=df[cond_sell].reset_index()

df_sell.columns=['날짜','파는시점종가','이평값3','행동1','행동2']


df_result=pd.concat([df_buy,df_sell],axis=1)

df_result['수익률']=df_result['파는시점종가']/df_result['사는시점종가']

cond=(df_result['파는시점종가']/df_result['사는시점종가'])<1

df_result['수익률']=np.where(cond,df_result['수익률']-1,df_result['수익률']-1)

df_result['수익금']=df_result['사는시점종가']*df_result['수익률']

df_result



질문

전체 수익을 구하기위해서는 수익금을 구해야 한다고 생각해서

위의 코드와 같이 작성하였습니다.

그런데 강의에서는 모든 수익율 값을 누적곱해서 77%정도의 수익을 봤다는 계산을 내놓았는데

수익금을 계산해봤을 때 9880원 정도였습니다.

이는 초기매수비용52120 으로 봤을 때 19%정도의 수익을 낸것인데

누적곱을 했을 때의 수치와 다른 이유와 왜 누적곱을 통해 수익률을 구하는지 궁금합니다.







취소
 공유
취소
댓글 0
댓글 알림
나의얼굴