inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

파이썬(Python)으로 데이터 기반 주식 퀀트 투자하기 Part1

수고하십니다. 실시간 데이터 비교가능한지요

256

phg6707

작성한 질문수 2

0

수고하십니다.  

질문하나 올립니다.

아래코드에서 전일까지 10일 거래량 평균(dfs['Vma10'].shift(1))을 장중 거래시간 390분을 1분단위로 나누고
이것의 시간대별로 누적거래량과 현재일 실 시간대별 누적거래량을 비교하여 10배이상되는 종목을 찾아 낼려는 의도입니다.

전일까지 10일 거래량 평균(dfs['Vma10'].shift(1))을 장중 거래시간 390분을 1분단위로 나누는 것은 어렵지 않을 것 같은데

오늘 실시간에서 거래량을 산출하고 비교하는게 감이 잡히지 않습니다.

어떤 종목이
전일까지 10일 거래량 평균(dfs['Vma10'].shift(1))의 시간대별로 누적거래량과 오늘 동 시간대별 누적거래량과
비교치와 10이상이면 True가 반환되도록 코드를 부탁드립니다.

아, 1분 마다 비교하면 저장해야할 데이터가 너무 많아 지는 것 같네요 장 초반은 10분마다 30분이후 부터는 30분마다 비교하는식
으로 부탁드립니다.


dfs = pd.DataFrame(dfs)


dfs = dfs.iloc[0:, :8]
dfs.columns = ['code', 'Close', 'Volume', 'VolumeC', 'Date', 'Open', 'High', 'Low']
dfs = dfs[['Date', 'Open', 'High', 'Low', 'Close', 'Volume', 'VolumeC']]
dfs[['Open', 'High', 'Low', 'Close', 'Volume', 'VolumeC']] = dfs[['Open', 'High', 'Low', 'Close', 'Volume', 'VolumeC']].astype(int).abs()
dfs['Date'] = pd.to_datetime(dfs['Date'].astype(str), format='%Y-%m-%d')
dfs.reset_index(drop=True, inplace=True)

dfs = dfs[::-1]


dfs['Vma10'] = dfs['Volume'].rolling(window=10).mean()

dfs['V/Vma10-1'] = np.where((dfs['Vma10'].shift(1)) != np.nan, dfs['Volume'] / (dfs['Vma10'].shift(1)), np.nan)
dfs['V/Vma10-1'] = round(dfs['V/Vma10-1'], 1)

dfs = dfs[::-1]

강의와 관련있는 질문을 남겨주세요.
• 강의와 관련이 없는 질문은 지식공유자가 답변하지 않을 수 있습니다. (사적 상담, 컨설팅, 과제 풀이 등)
• 질문을 남기기 전, 비슷한 내용을 질문한 수강생이 있는지 먼저 검색을 해주세요. (중복 질문을 자제해주세요.)
서비스 운영 관련 질문은 인프런 우측 하단 ‘문의하기’를 이용해주세요. (영상 재생 문제, 사이트 버그, 강의 환불 등)

질문 전달에도 요령이 필요합니다.
• 지식공유자가 질문을 좀 더 쉽게 확인할 수 있게 도와주세요.
• 강의실 페이지(/lecture) 에서 '질문하기'를 이용해주시면 질문과 연관된 수업 영상 제목이 함께 등록됩니다.
• 강의 대시보드에서 질문을 남길 경우, 관련 섹션 및 수업 제목을 기재해주세요. 
• 수업 특정 구간에 대한 질문은 꼭 영상 타임코드를 남겨주세요!

구체적인 질문일수록 명확한 답을 받을 수 있어요.
• 질문 제목은 핵심 키워드를 포함해 간결하게 적어주세요.
• 질문 내용은 자세하게 적어주시되, 지식공유자가 답변할 수 있도록 구체적으로 남겨주세요.
• 정확한 질문 내용과 함께 코드를 적어주시거나, 캡쳐 이미지를 첨부하면 더욱 좋습니다.

기본적인 예의를 지켜주세요.
• 정중한 의견 및 문의 제시, 감사 인사 등의 커뮤니케이션은 더 나은 강의를 위한 기틀이 됩니다. 
• 질문이 있을 때에는 강의를 만든 지식공유자에 대한 기본적인 예의를 꼭 지켜주세요. 
반말, 욕설, 과격한 표현 등 지식공유자를 불쾌하게 할 수 있는 내용은 스팸 처리 등 제재를 가할 수 있습니다. 

실시간거래량비교 투자 pandas 퀀트

답변 2

1

DeepingSauce

안녕하세요!

우선 질문게시글 작성시 나와있는 공지사항처럼 수업내용과는 별개의 문제, 적어주신 것처럼 개별 데이터를 사용한 예제나 문제에 대해서는 답변드리기가 어려운점 양해바랍니다.

제가 이해한 바로 간단히 아이디어 정도만 말씀드리면, 우선 과거 데이터에 대해서는 각 columns이 '종목_volume'인 df를 만들고(multi 종목인 경우 가정), rolling(), cumsum() 등으로 시간에 따른 누적거래량을 구합니다. 그리고 현재부터 새로운 데이터가 업데이트 될 때, "columns이 '종목_volume'인 df"형태를 series형태로 만들어서, 앞서만든 누적거래량 series를 서로 비교할 것 같습니다(column과 index가 align이 되게하여 pandas의  연산 특성 + vectorized operation을 활용할 수 있습니다)

0

phg6707

네, 먼저 답변 주신데  감사드립니다.

실시간에서 시간을 인식하고 설정하는 법 좀 알려 주시면 않되겠는지요?

시간을 인식하게 해야  과거  데이터와 실시간 데이터가 비교가 될 것 같습니다 만 ..

감사합니다.

No module named 'FinanceDataReader' 문제

0

825

3

처음 requirements.txt 폴더, 문의 드립니다.

0

455

2

강의 5.9 질문있습니다.

0

278

1

2.1 라이브러리가 설치부터 에러가 발생하네요..

0

363

1

파일 설치시 오류 메세지

0

302

1

질문이 있습니다.

0

290

2

7.9 왜 재생이 안되죠? 다른건 다 되는데..

0

221

1

append삭제

0

449

1

이틀째 설치에서 멈췄어요..제발도와주세요

0

1275

1

강의자료

0

352

1

2.6 reindex 관련 예제 질문

0

557

1

my_data

0

287

1

드랍박스 경로 다시 공유해주실수있나요?

0

466

1

fdr 오류 도오ㅏ주세요 ㅠ

0

667

1

row 출력 개수 변경

0

411

1

df.nsmallest(5, "PER(배)") 중 양수값만 표출

0

355

1

df1 = fdr.DataReader("005930", '2018-01-02', '2018-10-30') 오류

0

675

3

!pip install -r requirements.txt 설치시 에러2

0

891

1

!pip install -r requirements.txt 설치시 에러

0

1564

1

강의 7.9, 슈퍼가치전략 질문

0

294

0

주피터 라이브러리 설치(pandas, numpy, finance-datareader) 관련 문의

0

584

1

pivot() 하니 row의 수가 줄어들었는데 이유가 무엇인지요?

0

358

1

설치 에러

0

367

3

가상환경에서 FinanceDataReader import

0

543

1