数据
数据是上证指数日行情数据,股票代码000002.sz,原始数据shdata示例如下:
读取数据:
import numpy as np
import pandas as pd
import mplfinance as mpf
import matplotlib.pyplot as plt
from datetime import datetime
import matplotlib.ticker as ticker
import talib
from mplfinance.original_flavor import candlestick_ohlc
#from matplotlib.ticker import MaxNLocator, FuncFormatter
shdata = pd.read_csv("D:/my_files/sh_index.csv")
shdata['date'] = pd.to_datetime(shdata['trade_date'], format="%Y%m%d") #设置date列格式为年月日
shdata_beiyong = shdata.copy()
shdata.set_index('date',inplace=True) #设置索引
日数据转周数据
有时候需要以周为单位对数据进行分析或观测,数据转换代码如下:
p='w'
pshdata = shdata.resample(p).last() #转换,周线的每个变量都等于那一周中最后一个交易日的变量值
pshdata['open'] = shdata['open'].resample(p).first() #周线的open等于那一周中第一个交易日的open
pshdata['high'] = shdata['high'].resample(p).max() #周线的high等于那一周中的high的最大值
pshdata['low'] = shdata['low'].resample(p).min() #周线的low等于那一周中的low的最大值
pshdata['vol'] = shdata['vol'].resample(p).sum() #周线的vol和amount等于那一周中vol和amount各自的