묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결파이썬(Python)으로 데이터 기반 주식 퀀트 투자하기 Part2
수업 질문 있습니다!
안녕하세요. 수업 너무 잘 듣고 있습니다.리밸런싱 코드는 주식을 구매할 때 당일 종가를 기준으로 구매하는건가요? 전날의 종가를 기준으로 한다면 shift함수를 써주면 될까요? 월초로 리밸런싱을 하게 된다면 keep="first"만 바꿔주면 될까요? 감사합니다
-
미해결비트코인 선물거래 자동매매 시스템(저자직강)
강의 누락되었습니다.
두 세번을 돌려봤는데, 강의가 누락되었습니다. 알고리즘 튜닝 기법(5분 30초 구간)에 전 시간에 설명했다고 하는 "trading_counter_backtest" 에 대한 설명이 없습니다.바로 전 강좌는 바이낸스 API에 대한 강의입니다. 바쁘시겠지만 확인 부탁 드립니다. 백테스트가 이해가 안되는 부분이 있네요. 감사합니다.
-
미해결비트코인 선물거래 자동매매 시스템(저자직강)
python setup.py install 부분에서 문의 드립니다.
python setup.py install 부터 오류가 발생했던 것 같습니다. c:\robobytes>python setup.py install... byte-compiling build\bdist.win-amd64\egg\binance_f\model\symbolorderbook.py to symbolorderbook.cpython-37.pycbyte-compiling build\bdist.win-amd64\egg\binance_f\model\symbolprice.py to symbolprice.cpython-37.pycbyte-compiling build\bdist.win-amd64\egg\binance_f\model\symboltickerevent.py to symboltickerevent.cpython-37.pycbyte-compiling build\bdist.win-amd64\egg\binance_f\model\takerbuysellratio.py to takerbuysellratio.cpython-37.pycbyte-compiling build\bdist.win-amd64\egg\binance_f\model\tickerpricechangestatistics.py to tickerpricechangestatistics.cpython-37.pycbyte-compiling build\bdist.win-amd64\egg\binance_f\model\trade.py to trade.cpython-37.pycbyte-compiling build\bdist.win-amd64\egg\binance_f\model\__init__.py to init.cpython-37.pycbyte-compiling build\bdist.win-amd64\egg\binance_f\requestclient.py to requestclient.cpython-37.pycbyte-compiling build\bdist.win-amd64\egg\binance_f\subscriptionclient.py to subscriptionclient.cpython-37.pycbyte-compiling build\bdist.win-amd64\egg\binance_f\__init__.py to init.cpython-37.pyccreating build\bdist.win-amd64\egg\EGG-INFOcopying binance_futures.egg-info\PKG-INFO -> build\bdist.win-amd64\egg\EGG-INFOcopying binance_futures.egg-info\SOURCES.txt -> build\bdist.win-amd64\egg\EGG-INFOcopying binance_futures.egg-info\dependency_links.txt -> build\bdist.win-amd64\egg\EGG-INFOcopying binance_futures.egg-info\requires.txt -> build\bdist.win-amd64\egg\EGG-INFOcopying binance_futures.egg-info\top_level.txt -> build\bdist.win-amd64\egg\EGG-INFOzip_safe flag not set; analyzing archive contents...creating 'dist\binance_futures-1.1.0-py3.7.egg' and adding 'build\bdist.win-amd64\egg' to itremoving 'build\bdist.win-amd64\egg' (and everything under it)Processing binance_futures-1.1.0-py3.7.eggRemoving c:\python377\lib\site-packages\binance_futures-1.1.0-py3.7.eggCopying binance_futures-1.1.0-py3.7.egg to c:\python377\lib\site-packagesbinance-futures 1.1.0 is already the active version in easy-install.pthInstalled c:\python377\lib\site-packages\binance_futures-1.1.0-py3.7.eggProcessing dependencies for binance-futures==1.1.0error: tzlocal 2.1 is installed but tzlocal>=3.0 is required by {'apscheduler'}
-
미해결파이썬(Python)으로 데이터 기반 주식 퀀트 투자하기 Part1
No module named 'FinanceDataReader' 문제
finance-datareader 0.9.1버전으로 설치 했는데 자꾸 모듈이 없다고 뜹니다.가상환경 재설치도 해보고 버전 상관 없이 업그레이드도 해봤는데 똑같아요ㅠ파이썬 버전은 3.7.16입니다.뭘 더 해봐야 할까요?
-
미해결파이썬(Python)으로 데이터 기반 주식 퀀트 투자하기 Part2
분할 매매와 수익률 !!
안녕하세요 강사님 우선 좋은 강의 감사합니다.강사님 강의를 베이스로 하나의 전략을 구성 중인데 분할 매수, 분할 매도를 어떻게 구현하여 수익률을 내는지 도무지 떠오르지가 않습니다.혹시 이 기능에 대해서는 어떻게 생각해야 하나요??
-
미해결비트코인 선물거래 자동매매 시스템(저자직강)
선생님 크롤링 관련하여 문의드립니다!
선생님, requests.get 하여 크롤링을 하려 하는데 403 error가 계속 뜹니다. headers 부분을 추가하여 했는데도 계속 오류가 뜨는데 혹시 무엇이 문제일까요? API로 받아와야하나요 이젠?
-
미해결비트코인 선물거래 자동매매 시스템(저자직강)
안녕하세요 파이썬버젼 문의드려요
선생님 안녕하세요, 수고많으십니다. 다름이 아니라, 제가 파이썬응 3.9 버젼으로 쓰고있는데, 이 환경에서는 api가 돌아가지않니요?
-
미해결평생 써먹는 데이터 기반 투자법 with 파이썬 퀀트 투자
강의 자료 다운로드 자료요청
안녕하세요.저도 강의자료를 다운로드하면 압축파일에 requirement.txt 파일만 나오고 다른 파일들은 보이지 않습니다.앞에서 문의한 분처럼 저도 이메일로 보내주시면 감사하겠습니다.kimv100@gmail.com감사합니다.
-
미해결파이썬(Python)으로 데이터 기반 주식 퀀트 투자하기 Part2
물타기(매월 일부 투자금액 증액 효과)
좋은 강의 잘들었습니다. 이제서야 거의 완강에 앞두고 있습니다. 수업의 후반부 내용중 7.12 실전투입관련 part1 부분에서 궁금한점이 생겼습니다. 물타기(매월 100달러씩 투자금액을 증액)하는 경우 아래 코드와 같이 반영하는 방법을 제안해주셨는데요.cum_rtn_at_last_month_end = (total_port_cum_rtn_series.iloc[-1] * 0.999) + 100 이렇게 코드를 짜서 실행을 하면 포트폴리오의 개별 종목이나 전체 금액의 추이를 잘 계산해낼 수 있는 것으로 보입니다. 그런데 여기서 구해진 rtn_df 등을 바탕으로 수업에서 계산했던 sharpe ratio나 CAGR을 그대로 구해도 될지에 대한 의문이 생깁니다.매월 말 리밸런싱때 투자금액을 추가한다고 가정하면 시장 상황에 관계없이 매월 말마다 100달러씩이 자동으로 증가하는데 이 부분이 sharpe ratio나 CAGR을 과대평가하는 효과가 생길 수 있다고 생각하기 때문입니다. 혹시 이 부분에 대해 제가 잘못 생각하고 있거나 추가적으로 참고할만한 자료가 있다면 알려주시면 감사하겠습니다.
-
미해결금융데이터 분석을 위한 판다스 활용법
21년 12월 말일 데이터 관련
안녕하세요.21년 12월 마지막 데이터는 28일이지만 이 날짜가 12월 마지막 데이타 라고 생각합니다.그래서 22년 1월 2일 데이터를 더미로 넣는게 좋다고 생각합니다.감사합니다.
-
미해결비트코인 암호화폐 자동매매 코인봇 만들기 Part 1 - 무위험 전략 학습하기
안녕하세요, 자동 매매 봇 오류 문의드립니다.
async def t_bot(): telegram_bot = telegram.Bot(TELEGRAM_BOT_TOKEN) telegram_message_list_1 = [str(datetime.datetime.now()), f'------------- sell {ticker} ----------'] await telegram_bot.sendMessage(chat_id=TELEGRAM_CHAT_ID, text=' '.join(telegram_message_list_1)) asyncio.run(t_bot())커뮤니티 계시판에 조언해주신대로 코드를 수정했는데, 저렇게 전부 다 바꿔서 돌리면 loop = asyncio.get_event_loop() ^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\snape\anaconda3\Lib\asyncio\events.py", line 677, in get_event_loop raise RuntimeError('There is no current event loop in thread %r.'RuntimeError: There is no current event loop in thread 'MainThread'.이런 오류가 뜹니다 ㅠㅠ 어떻게 해야할까요..
-
미해결평생 써먹는 데이터 기반 투자법 with 파이썬 퀀트 투자
강의 자료 다운로드
안녕하세요. 파이썬/판다스 입문 관련 자료 이외에 본 강의 자료는 어떻게 다운로드 받을 수 있는지 궁금합니다. 강의에서 사용하신 파일이 따로 있는 것 같은데 어디서 다운로드 해야 할지 찾을 수가 없어서요 ㅜㅜ
-
미해결비트코인 선물거래 자동매매 시스템(저자직강)
수업질문
안녕하세요 혹시 파이참이랑 주피터 말고 아나콘다로 vs 코드 실행하여 수업을 들어도 무방한가요 ?
-
미해결비트코인 암호화폐 자동매매 코인봇 만들기 Part 2 - 자동수익 코인봇 만들기
금액 설정 관련
만일 다수의 코인에 대해 거래를 진행하고 싶고매수 금액을 총 금액에서 가중치를 주어 다른 비율로 배분하고 싶으면 어떻게 코드를 수정해야할까요?
-
해결됨직장인을 위한 자산관리 101
예금 적금 - 금융감독원 URL 수정
https://finlife.fss.or.kr/finlife/main/main.do?menuNo=700000위 링크로 변경된거 같습니다.pdf에 있는 링크로 접속이 안되네요.
-
미해결비트코인 암호화폐 자동매매 코인봇 만들기 Part 1 - 무위험 전략 학습하기
빗썸 종합실습 실행하는데 오류가 납니다.
안녕하세요.빗썸 종합실습을 예제를 받아서 키변경만 하고 실행하였는데 오류가 납니다.뭐가 문제인지 확인 부탁드립니다. PS C:\Python310\python_test> & C:/Python310/python.exe c:/Python310/python_test/bithumb_xrp_basic_auto_trader.pyXRP 보유 개수 : 0.0Traceback (most recent call last): File "c:\Python310\python_test\bithumb_xrp_basic_auto_trader.py", line 164, in <module> xrp_buy_price = float(result['data'][0]['price'])IndexError: list index out of rangePS C:\Python310\python_test>
-
미해결평생 써먹는 데이터 기반 투자법 with 파이썬 퀀트 투자
수익률이 맞는지 코드 문의 드립니다.
안녕하세요 수강을 하여 만족스러운 강의를 들었습니다. 개인적으로 궁금한 것을 구현했는데 소스가 맞는지 검증 부탁드려도 될까 합니다. 생각해 본 부분을 짜보긴 했지만 수익률이 잘못 나온 듯하여 오류를 아무리 검증해보려고해도 알 수가 없어서 문의드립니다. 추가로 다른 분에게도 도움이 되길 바라고, 또한 제 코드에서도 최적화 할 부분이 보일 듯하니 조언 부탁드립니다. 강의에서 나온 부분이 많기에 주석과 맥락등은 일부 제거 했습니다. [조건] 종목 TQQQ, SCHDadj_close 값TQQQ RSI<30 : TQQQ 3% 비중 증가 , SCHD 3%비중 감소리밸런싱 5:5 매 반기마다 실행 !apt-get update -qq !pip install yfinance import yfinance as yf import pandas as pd import matplotlib as mpl import matplotlib.pyplot as plt import matplotlib.font_manager as fm import numpy as np # 수정종가 def getAdjCloseData(ticker, end=None): return yf.download(ticker, period='12y')['Adj Close'] # RSI 데이터 def getRSIData(closeDataSet, periods=""): average_periods = 14 # 이평 초기에 값은 나오지 않기 때문에 더 계산하고 자름 delta = closeDataSet.diff() # closeDataSet - closeDataSet.shift(1) # 변화량 if periods != "": delta = delta.iloc[(periods + average_periods) * -1:] AU = pd.DataFrame(np.where(delta>=0, delta, 0), delta.index, delta.columns) AD = pd.DataFrame(np.where(delta<0, delta.abs(), 0), delta.index, delta.columns) # SMA AU_MA = getSimpleMovingAverage(AU, average_periods) AD_MA = getSimpleMovingAverage(AD, average_periods) rsi = AU_MA / (AU_MA + AD_MA) * 100 # RSI Signal rsiSignal = getSimpleMovingAverage(rsi, 9) if periods != "": rsi = rsi[average_periods:] rsiSignal = rsiSignal[average_periods:] return rsi, rsiSignal # RSI 값에 따른 리밸런싱 날짜 def getRSIRebalancingDate(closeDataSet, RSI = 30): rsi, rsiSignal = getRSIData(closeDataSet) data = rsi.copy() data = pd.DataFrame(data) dataIndex = data[data.iloc[:, 0] <= RSI].index return dataIndex def getWeightByRSI(closeDataSet): RSIrebalancingDate = getRSIRebalancingDate(closeDataSet, 30) # RSI가 30이하일 때 리밸런싱 날짜 rebalancingDate = getRebalancingDate(closeDataSet, 'half') # 동일비중 리밸런싱 할 날짜 rebal = pd.DataFrame([[1/len(closeDataSet.columns)] * len(closeDataSet.columns)] * len(rebalancingDate), index=rebalancingDate, columns=closeDataSet.columns) rebal['period'] = 1 # 기간에 따른 리밸런싱 rsiRebal = pd.DataFrame([[1/len(closeDataSet.columns)] * len(closeDataSet.columns)] * len(RSIrebalancingDate), index=RSIrebalancingDate, columns=closeDataSet.columns) rsiRebal['period'] = 0 # RSI에 따른 리밸런싱 weightDf = pd.concat([rebal, rsiRebal], axis=0) weightDf = weightDf.sort_index() # 리밸런싱 날짜 별 for i in range(1, len(weightDf)): if weightDf.iloc[i]['period'] == 1: # 기간에 따른 리밸런싱 weightDf.iloc[i, weightDf.columns.get_loc("TQQQ")] = weightDf.iloc[0, weightDf.columns.get_loc("TQQQ")] weightDf.iloc[i, weightDf.columns.get_loc("SCHD")] = weightDf.iloc[0, weightDf.columns.get_loc("SCHD")] else: # RSI에 따른 리밸런싱 weightDf.iloc[i, weightDf.columns.get_loc("TQQQ")] = weightDf.iloc[i-1, weightDf.columns.get_loc("TQQQ")] * 1.03 weightDf.iloc[i, weightDf.columns.get_loc("SCHD")] = weightDf.iloc[i-1, weightDf.columns.get_loc("SCHD")] * 0.97 return weightDf def getRSIPortfolioResult(closeDataSet): weight = getWeightByRSI(closeDataSet) weightDf = pd.DataFrame(weight) rebalancingDate = weightDf.index portfolio = pd.DataFrame() # 빈 데이터 프레임 생성 totalAsset = 1 # 총 자산, 초기값 1 start = rebalancingDate[0] # 리밸런싱 날짜, 초기값 첫 투자일 for end in rebalancingDate[1:]: weight = weightDf.loc[start] # 당월 리밸런싱 비율 weight = weight.drop('period') priceData = closeDataSet.loc[start:end] # 당월 가격 데이터 cumReturn = getCumulativeReturn(priceData) # 당월 누적 수익률 weightedCumReturn = weight * cumReturn # 당월 리밸런싱 비율이 반영된 누적 수 netCumReturn = totalAsset * weightedCumReturn # 전월 투자 결과 반영 (이전 블록의 누적 수익을 포함시킴) start = end # start 갱신 totalAsset = netCumReturn.iloc[-1].sum() # 총 자산 갱신 portfolio = pd.concat([portfolio, netCumReturn]) # 매월 데이터 추가 portfolio = portfolio.loc[~portfolio.index.duplicated(keep='last')] # 중복 데이터 제거 portfolioCumulativeReturn = portfolio.sum(axis=1) # 포트폴리오 누적 수익률 portfolioDayReturn = (portfolioCumulativeReturn / portfolioCumulativeReturn.shift(1)).fillna(1) # 포트폴리오 일간 수익률 return portfolioDayReturn, portfolioCumulativeReturn closeDataSet = pd.DataFrame() TQQQ = getAdjCloseData("TQQQ") # TQQQ SCHD = getAdjCloseData("SCHD") # SCHD closeDataSet = pd.concat([TQQQ , SCHD ], axis=1) closeDataSet.columns = asset closeDataSet.dropna(inplace=True) _, rsiCumReturn = getRSIPortfolioResult(closeDataSet) rsiMomentumCAGR, rsiMomentumDD, rsiMomentumMDD = getEvaluation(rsiCumReturn)
-
해결됨퀀트 투자를 위한 파이썬 트레이딩룸 만들기 - Part 3
Var 전개식 질문
좋은 강좌 감사합니다. 손필기하면서 강좌 보고 있어요.강좌 중 Var 전개식에서 E[{(X-E[X]) - (Y-E[Y])}^2] 로 표기되어 있는데요.E[{(X-E[X]) + (Y-E[Y])}^2] 이 맞는 표현 같습니다.그래야 u,v 치환해도 맞으니깐요.
-
미해결파이썬(Python)으로 데이터 기반 주식 퀀트 투자하기 Part1
처음 requirements.txt 폴더, 문의 드립니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! (스크린샷이 있으면 더더욱 좋습니다)- 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 말그대로 아나콘다3 깔려있는 폴더에 파일을 넣었는데.계속 에러가 납니다. 어떻게 해야할까요 아나콘다 폴더가아닌 다른 폴더에 넣어야할까요? vs코드로 파이썬 공부하다가 이걸로하려니 어지럽네요ㅠㅠ
-
미해결비트코인 알고리즘 트레이딩 봇 개발
ta 모듈을 못 찾습니다
ta 를 계속 못 찾아서 install 한 lib 를 삭제하고 다시 설치했는데 같은 오류가 발생합니다