소개
서울대학교 기계항공 공학부 졸업
영국 크랜필드 대학교 기계항공 석사 졸업
독일 함부르크 공대 기계공학 박사 수료
독일 Nordex Wind Senior Data Scientist
영국 Wood Energy Data Analysis Senior Consultant
Databricks Data Engineering Project
Kaggle Stock Trading Competition top 3%
현 AI 스타트업 (MUSTai) 개발팀장
강의
전체5수강평
- great!
hakjuknu
2024.08.27
0
게시글
질문&답변
2024.09.09
PairsTrading_EDA 실습 과정중 오류가 발생합니다.
안녕하세요! 승혁님! 캡처해 주신 내용을 보니, 원인은 다양하게 있을 것 같은데, 우선적으로 가장 의심이 되는 부분은 pandas의 새로운 버전에서 pd.DateOffset이 datetime object와 호환이 안 되는 상황이 있을 수 있을 것 같습니다. 그래서 제가 제안을 드리는 상황은 아래의 2가지입니다. 1:1 세션을 통해서 해결할 수 있습니다. 저는 현재 클라이언트 시각에 맞추어서 한국 시각 밤 12부터 일하고 있으니 그 전에 미팅 시각을 잡으면 도와 드릴 수 있을 것 같습니다. 승혁님께서 직접 한 번 Trouble Shooting을 해 보시는 것을 추천 드립니다. 말씀 드린 것처럼, pandas나 yfinance가 계속 Version Up되고 있기 때문에 기존에 작동하던 코드가 작동이 안 될 수도 있고, 이 것은 현업에서도 많이 겪게 되는 상황입니다. 그렇기 때문에 conda environment를 통하거나 Docker 또는 여러 unit test 방법들이 있습니다. 우리의 본론으로 가면 스스로 트러블 슛팅을 하는 과정 속에서 배워지는 것들이 있을 겁니다. 제가 제안을 좀 드리면, 우선 아래와 같이 Index의 type을 확인하신 후에 data_1d.info() DatetimeIndex: 544 entries, 2022-07-11 to 2024-09-06 Columns: 471 entries, A to ZTS dtypes: float64(471) memory usage: 2.0 MB 필요한 경우에 data_1d의 index의 type을 변환하시면 될 것 같습니다. # convert pandas timestamp to datetime data_1d.index = data_1d.index.to_pydatetime() 하지만 말씀 드린 것처럼, 언제든지 1:1 세션이 가능하니, 부담 갖지 마시고 연락 주세요. 감사합니다. 다니엘 드림
- 0
- 1
- 34
질문&답변
2024.09.04
.yaml 파일을 통한 환경설정에서 --force 명령어가 작동안합니다.
안녕하세요 승혁님! 아래와 같이 실행해 보시겠어요? conda env create -f myenv-finance-analysis.yaml --force 기존 강의 촬영 당시에 작동하던 conda 명령어의 작동 방식이 업데이트 된 것으로 보입니다. 하지만 실제 제가 주로 사용하는 방식은 기존 conda environment를 삭제하고 재설치하는 방식입니다. conda env remove -n myenv-finance-analysis conda env create -f myenv-finance-analysis.yaml 추가적으로 필요한 사항이 있으면 주저하시지 마시고 게시판 또는 개인 메일로 연락 주세요. 감사합니다. 다니엘 드림
- 1
- 1
- 24
질문&답변
2024.08.28
선생님 ㅠㅠ 뭐가 문제일까요 spot검색후.ㅠ
안녕하세요 Hoon님! 먼저 답변이 너무 오래 지연이 되어서 죄송합니다. 관련해서 강의를 섹션 2의 "하드웨어 용량 사용 승인 요청에 대한 Trobule Shooting"에 업로드 하였습니다. 실행해 보시고 문제가 지속되면 저의 개인 메일 (daniel@datatrain.education)로 연락을 주시거나 게시판에 남겨 주시면 지원해 드리도록 하겠습니다. 감사합니다. 다니엘 드림
- 0
- 3
- 68
질문&답변
2024.08.28
선생님 안녕하세요!.. 오류 문의드립니다.
안녕하세요! 먼저 답변이 너무 오래 지연이 되어서 죄송합니다. 관련해서 강의를 섹션 2의 "하드웨어 용량 사용 승인 요청에 대한 Trobule Shooting"에 업로드 하였습니다. 실행해 보시고 문제가 지속되면 저의 개인 메일 (daniel@datatrain.education)로 연락을 주시거나 게시판에 남겨 주시면 지원해 드리도록 하겠습니다. 감사합니다. 다니엘 드림
- 0
- 3
- 90
질문&답변
2024.08.11
안녕하세요 선생님! 왜 Log를 취해주는지 궁금합니다.
안녕하세요! Hoon님! 아래의 내용을 확인하시면, zscore_calculation 메서드를 PairTradingIntraDay에서 재정의할 때 ratio_intraday와 ratio 모두에서 np.log를 적용하였습니다. def zscore_calculation(self): """ 주어진 주식 Pair에 윈도우를 기반으로 가격 비율의 이동 평균, 이동 표준 편차를 기반으로 zscore를 계산합니다. Attributes (속성): - self.pair (튜플): 분석할 주식 쌍의 주식 심볼을 포함하는 튜플입니다. - self.df_pair (DataFrame): 분석할 주식에 대한 주식 가격을 포함하는 DataFrame입니다. - self.window (정수): 이동 평균과 이동 편차을 계산하는 데 사용되는 일수 (days)입니다. Reseults (결과): - 현재 가격 비율 from IntraDay Data과 주어진 윈도우의 과거 from 1-d interval Data로부터의 이동 평균, 이동 표준 편차를 추가하여 zscore를 계산하여 self.df를 업데이트합니다. """ self.df_pair_intraday["Day"] = self.df_pair_intraday.index.date self.df_pair_intraday["ratio_intraday"] = np.log(self.df_pair_intraday[self.stock1]/self.df_pair_intraday[self.stock2]) temp_df = self.df_pair.copy() # 1-d interval data temp_df["Day"] = temp_df.index.date temp_df["ratio"] = np.log(temp_df[self.stock1] / temp_df[self.stock2]) temp_df["ma"] = temp_df["ratio"].rolling(window=self.window).mean().shift(1) temp_df["msd"] = temp_df["ratio"].rolling(window=self.window).std().shift(1) 하지만 추가적으로 PairTrading class의 ratio에도 np.log를 적용하는 것이 맞습니다. 제가 간과했던 부분입니다. 좋은 지적 감사합니다. 향후 강의에 반영하도록 하겠습니다. 감사합니다. 다니엘 드림
- 0
- 1
- 38