Python 양 적 거래 실전 사용 Resample 함수 변환"일 K"데이터
1.resample 함수 가 무엇 입 니까?
이것 은 Python 데이터 분석 라 이브 러 리 Pandas 의 방법 함수 입 니 다.
그것 은 주로 시간 서열 의 빈 도 를 바 꾸 는 데 쓰 인 다.통계 집계 작업 을 할 수 있다.
시간 서열 을 바 꾸 는 빈도 가 무엇 입 니까?
예 를 들 어 주식 의 일 k 와 주 k.
만약 에 제 가 주식 일 K 의 데 이 터 를 얻 을 수 밖 에 없다 고 가정 합 니 다.예 를 들 어 11 월 1 일부 터 11 월 5 일 까지 어떻게 그것 을 주 단위 의 K 선 으로 바 꿉 니까?
날짜.
사이클
개장 가격
파장 가
최고가
최저 가격
11 월 1 일
월요일
1.11
1.11
1.11
1.12
11 월 2 일
화요일
1.12
1.12
1.11
1.12
11 월 3 일
수요일
1.13
1.13
1.11
1.12
11 월 4 일
목요일
1.15
1.14
1.11
1.12
11 월 5 일
금요일
1.14
1.15
1.11
1.12
우선 주 K 의 개장,마감,최고,최저 가 무엇 인지 명 확 히 해 야 한다.매주 개장 가 는 당 주 첫날 개장 가 이 며,마감 가 는 당 주 마지막 날 종가 이 며,최고 가 는 이번 주 가장 높 은 가격 이 며,최저 가 는 이번 주 모든 최저 가 중 가장 낮은 가격 이다.그래서 주식 투기 플랫폼 을 보 세 요.그의 주 k 는 모두 금요일 의 거래 일 을 기록 하 는 시간 대 위치 입 니 다.개장,파장,최고,최저 등 은 내 가 방금 설명 한 이 규칙 에 따라 계산 한 것 이다.월 K,연 K 선정 규칙 도 마찬가지다.월 K 의 주 기 는 한 달 이 고 연 K 의 주 기 는 1 년 이다.
이 계산 의 정확성 은 너 도 인터넷 의 데 이 터 를 통 해 검증 할 수 있다.이 계산 규칙 은 개장,마감,최고,최저 계산 을 포함 하여 resample 함수 가 할 수 있 는 일 을 정리 하 는 것 을 포함한다.그 밖 에 Resample 은 통계 집계 도 하 는 기능 이 있 습 니 다.예 를 들 어 제 가 주식 의 총 주 거래 량 을 계산 하고 싶 으 면 Resample.sum 함 수 를 사용 하여 월요일 부터 금요일 까지 의 거래 량 을 더 할 수 있 습 니 다.
여러분 의 기억 을 편리 하 게 하기 위해 서,resample 을 엑셀 표 의 투시 표 기능 으로 이해 할 수 있 습 니 다.너 는 날짜 에 따라 각종 선별 과 집계 통 계 를 할 수 있다.가장 중요 한 것 은 그 가 날짜 에 따라
2.실전 Resample 함수
이 2 교시 수업 은 비교적 기초적인 부분 이기 때문에 아직 모듈 화 된 내용 을 하지 않 았 다.
우 리 는 주식 데이터 베 이 스 를 만 들 때 진정한 모듈 화 작업 을 할 것 이다.여기까지 다 초급 스 크 립 트 형식 이 야.미리 말 해 봐.
1.일 K 에서 주 K 로 전환
1.1 함수 문서 학습
구 글 검색
Pandas Resample
:첫 번 째 링크 는 바로 이 함수 의 공식 문서 입 니 다.https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.resample.html
리 샘플 은 Pandas DataFrame 아래 에 속 하 는 방법 입 니 다.여기에 매개 변수 에 대한 설명 이 있다.
여기 서 우 리 는 두 개의 상용 매개 변수 에 대해 서 만 설명 합 니 다.하 나 는 rule 이 고 다른 하 나 는 closed 입 니 다.
>>>index = pd.date_range('1/1/2000', periods=9, freq='T')
>>>series = pd.Series(range(9), index=index)
>>>series
2000-01-01 00:00:00 0
2000-01-01 00:01:00 1
2000-01-01 00:02:00 2
2000-01-01 00:03:00 3
2000-01-01 00:04:00 4
2000-01-01 00:05:00 5
2000-01-01 00:06:00 6
2000-01-01 00:07:00 7
2000-01-01 00:08:00 8
Freq: T, dtype: int64
여기 서 먼저 시간 서열 의DataFrame
를 만 들 었 습 니 다.바로 이series
변수 입 니 다.한 필드 만 있 는 표 스타일 로 이해 할 수 있 습 니 다.이어서 아래 를 본다.
>>>series.resample('3T').sum()
2000-01-01 00:00:00 3
2000-01-01 00:03:00 12
2000-01-01 00:06:00 21
Freq: 3T, dtype: int64
여기Resample
방법 을 사 용 했 습 니 다.3T
바로 3 분 입 니 다.T
분 을 표시 합 니 다.sum()
바로 이 열 데 이 터 를 모 으 는 것 이다.3 분 마다 순차적으로 집계 되 는 셈 이다.이 시간 서열 이 합 쳐 진 시간 은 3 분 의 1 분 이라는 것 을 알 수 있다.시간 주기의 마지막 분 을 찾 으 려 면 label 의 값 을"right"로 바 꿀 수 있 습 니 다.
>>>series.resample('3T', label='right').sum()
2000-01-01 00:03:00 3
2000-01-01 00:06:00 12
2000-01-01 00:09:00 21
Freq: 3T, dtype: int64
1.2 실전일 K 의 실제 데이터 가 져 오기:
# k
df = get_price("000001.XSHG", end_date='2021-05-30 14:00:00',count=20, frequency='1d', fields=['open','close','high','low','volume','money'])
print(df)
4 28
부터5 28
까지 의 모든 데 이 터 를 볼 수 있 습 니 다.우리 가 데 이 터 를 추가 하 는 것 을 더욱 편리 하 게 이해 하기 위해 서 는 현재 날짜 가
열 입 니 다.
# k
df = get_price("000001.XSHG", end_date='2021-05-30 14:00:00',count=20, frequency='1d', fields=['open','close','high','low','volume','money'])
df['weekday']=df.index.weekday
print(df)
여기
0
월요일 을 대표 합 니 다.여 기 는 어떻게'주'통계 로 바 꿉 니까?
# k
import pandas as pd
df_week = pd.DataFrame()
df_week = df['open'].resample('W').first()
print(df_week)
이곳 을 볼 수 있 는
2021-05-30
일주일 의 마지막 날 입 니 다.그것 에 대응 하 는 개장 가 는 확실히 이 숫자 다.우리 가 계산 한 주 K 데이터 가 정확 하 다 는 뜻 이다.종가 가
마지막 날 의 데이터 입 니 다.최고 가 는
의 최대 치 입 니 다.최저 가 는
의 최소 치 입 니 다.
# k
import pandas as pd
df_week = pd.DataFrame()
df_week['open'] = df['open'].resample('W').first()
df_week['close'] = df['close'].resample('W').last()
df_week['high'] = df['high'].resample('W').max()
df_week['low'] = df['low'].resample('W').min()
print(df_week)
비교 데이터,close 는 마지막 날 종가 의 데이터 입 니 다.하 이 는 현재 주의 매일 최고가 의 최고가 이다.low 는 현재 주의 매일 최저 가격 의 최저 가격 이다.
우 리 는 10 줄 도 안 되 는 코드 를 통 해
K
의 데 이 터 를 K
의 데이터 로 변환 할 수 있 습 니 다.2.집계 기능(월 거래 량,거래액 통계)
거래 량 과 거래액 을 합산 하 다
volume
(거래 량)과money
(거래액)를 총 거래 량 과 총 거래액 으로 전환 하고 싶 습 니 다.
# k
import pandas as pd
df_week = pd.DataFrame()
df_week['open'] = df['open'].resample('W').first()
df_week['close'] = df['close'].resample('W').last()
df_week['high'] = df['high'].resample('W').max()
df_week['low'] = df['low'].resample('W').min()
df_week['volume(sum)'] = df['volume'].resample('W').sum()
df_week['money(sum)'] = df['money'].resample('W').sum()
print(df_week)
3.일 K 월 K 로 전환만약 내 가 1 년 의 데 이 터 를 가지 고 있다 고 가정 하면 월 K 로 바 꾸 려 면 어떻게 바 꿔 야 합 니까?
두 군데 만 고 쳐 야 합 니 다.
start_date
1 년 동안 얻 은 데이터resample
의 매개 변 수 를 M 으로 바 꾸 면 됩 니 다.M 대표 Month
# k
df = get_price("000001.XSHG", end_date='2021-05-30 14:00:00', start_date='2020-05-30', frequency='1d', fields=['open','close','high','low','volume','money'])
df['weekday']=df.index.weekday
print(df)
# k
import pandas as pd
df_week = pd.DataFrame()
df_week['open'] = df['open'].resample('M').first()
df_week['close'] = df['close'].resample('M').last()
df_week['high'] = df['high'].resample('M').max()
df_week['low'] = df['low'].resample('M').min()
print(df_week)
이상 은 Python 양 적 거래 실전 의 사용 Resample 함수 변환"일 K"데이터 에 대한 상세 한 내용 입 니 다.Python Resample 함수 변환"일 K"데이터 에 대한 자 료 는 다른 관련 글 을 주목 하 십시오!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.