Python 양 적 거래 실전 사용 Resample 함수 변환"일 K"데이터

Resample 함수 로 시간 시퀀스 변환 하기
 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 입 니 다.
  • rule 은 어떤 주기 적 인 지 표를 넣 었 는 지 를 나타 내 는 것 입 니 다.m 로 Month,Y 로 Year,w 대표 Week,
  • closed 는 당신 이 어떤 경계선 을 취 하 는 것 을 대표 합 니까?예 를 들 어 제 가 일 k 를 주 k 로 바 꾸 었 습 니 다.도대체 제 가 월요일 을 경계선 으로 하 는 것 입 니까?아니면 금요일 을 경계선 으로 하 는 것 입 니까?이것 은 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_date1 년 동안 얻 은 데이터
  • 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"데이터 에 대한 자 료 는 다른 관련 글 을 주목 하 십시오!

    좋은 웹페이지 즐겨찾기