수고하십니다. 실시간 데이터 비교가능한지요
256
작성한 질문수 2
수고하십니다.
질문하나 올립니다.
아래코드에서 전일까지 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) 에서 '질문하기'를 이용해주시면 질문과 연관된 수업 영상 제목이 함께 등록됩니다.
• 강의 대시보드에서 질문을 남길 경우, 관련 섹션 및 수업 제목을 기재해주세요.
• 수업 특정 구간에 대한 질문은 꼭 영상 타임코드를 남겨주세요!
구체적인 질문일수록 명확한 답을 받을 수 있어요.
• 질문 제목은 핵심 키워드를 포함해 간결하게 적어주세요.
• 질문 내용은 자세하게 적어주시되, 지식공유자가 답변할 수 있도록 구체적으로 남겨주세요.
• 정확한 질문 내용과 함께 코드를 적어주시거나, 캡쳐 이미지를 첨부하면 더욱 좋습니다.
기본적인 예의를 지켜주세요.
• 정중한 의견 및 문의 제시, 감사 인사 등의 커뮤니케이션은 더 나은 강의를 위한 기틀이 됩니다.
• 질문이 있을 때에는 강의를 만든 지식공유자에 대한 기본적인 예의를 꼭 지켜주세요.
• 반말, 욕설, 과격한 표현 등 지식공유자를 불쾌하게 할 수 있는 내용은 스팸 처리 등 제재를 가할 수 있습니다.
답변 2
1
안녕하세요!
우선 질문게시글 작성시 나와있는 공지사항처럼 수업내용과는 별개의 문제, 적어주신 것처럼 개별 데이터를 사용한 예제나 문제에 대해서는 답변드리기가 어려운점 양해바랍니다.
제가 이해한 바로 간단히 아이디어 정도만 말씀드리면, 우선 과거 데이터에 대해서는 각 columns이 '종목_volume'인 df를 만들고(multi 종목인 경우 가정), rolling(), cumsum() 등으로 시간에 따른 누적거래량을 구합니다. 그리고 현재부터 새로운 데이터가 업데이트 될 때, "columns이 '종목_volume'인 df"형태를 series형태로 만들어서, 앞서만든 누적거래량 series를 서로 비교할 것 같습니다(column과 index가 align이 되게하여 pandas의 연산 특성 + vectorized operation을 활용할 수 있습니다)
0
네, 먼저 답변 주신데 감사드립니다.
실시간에서 시간을 인식하고 설정하는 법 좀 알려 주시면 않되겠는지요?
시간을 인식하게 해야 과거 데이터와 실시간 데이터가 비교가 될 것 같습니다 만 ..
감사합니다.
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
467
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





