Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from pykrx import stock
- from pandas import Series
- import pandas as pd
- def 변동성돌파전략(df, k):
- df = df.loc[ df['시가'] != 0 ].copy()
- df['변동폭'] = df['고가'] - df['저가']
- df['목표가'] = df['시가'] + df['변동폭'].shift(1) * k
- df['다음날시가'] = df['시가'].shift(-1)
- df = df.dropna()
- cond = df['고가'] > df['목표가']
- 수익률 = df.loc[cond, '다음날시가'] / df.loc[cond, '목표가']
- if 수익률.empty :
- return 0
- 수익률 = 수익률 - 0.002
- 기간수익률 = 수익률.cumprod().iloc[-1]
- N = (df.index[-1] - df.index[0]).days / 365
- CAGR = (기간수익률 ** (1/N)) - 1
- return CAGR
- ticker_list = stock.get_market_ticker_list("20200831")
- result = [ ]
- for ticker in ticker_list:
- df = pd.read_excel(f"코스피/{ticker}.xlsx", index_col=0)
- CAGR = 변동성돌파전략(df, 0.4)
- result.append(CAGR)
- s = Series(result, ticker_list)
- print(s.describe())
- s.sort_values().plot(kind='bar')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement