3 Caso: Reamostragem de dados da linha K do estoque
DataFrame.resample (regra, como = Nenhum, eixo = 0, fill_method = Nenhum, fechado = Nenhum, tipo = Nenhum,)
Para conversão de frequência e reamostragem de série temporal, o objeto deve ter um índice de data e hora (DatetimeIndex, PeriodIndex ou TimedeltaIndex)
Comparação do dia K e da semana K:
Então, como você alterna entre a linha diária, a linha semanal, a linha mensal, etc.? ?
Nota: a linha K semanal refere-se a um gráfico de linha K desenhado com base no preço de abertura na segunda-feira, o preço de fechamento na sexta-feira, o preço mais alto da semana e o preço mais baixo da semana
A maioria dos indicadores semanais são o valor desse indicador diário no último dia de negociação da semana. Por exemplo, o "fechamento" da linha semanal deve ser igual ao "fechamento" dos dados diários do último dia da semana, mas alguns indicadores são exceções, por exemplo, o "máximo" da linha semanal deve ser igual ao valor máximo de todas as linhas diárias da semana.
Em seguida, ainda usamos os dados de mercado de uma ação no stock_day anterior
Converta o índice para o tipo DatetimeIndex
Faça uma nova amostra de indicadores diferentes
import pandas as pd
stock_day = pd.read_csv("./stock_day/stock_day.csv")
stock_day = stock_day.sort_index()
# 对每日交易数据进行重采样 (频率转换)
stock_day.index
# 1、必须将时间索引类型转换成Pandas默认的类型
stock_day.index = pd.to_datetime(stock_day.index)
# 2、进行频率转换日K---周K,首先让所有指标都为最后一天的价格
period_week_data = stock_day.resample('W').last()
# 分别对于开盘、收盘、最高价、最低价进行处理
period_week_data['open'] = stock_day['open'].resample('W').first()
# 处理最高价和最低价
period_week_data['high'] = stock_day['high'].resample('W').max()
# 最低价
period_week_data['low'] = stock_day['low'].resample('W').min()
# 成交量 这一周的每天成交量的和
period_week_data['volume'] = stock_day['volume'].resample('W').sum()
Para valores ausentes
period_week_data.dropna(inplace=True)
Podemos exibir a semana K calculada e o desenho do dia K original
- Desenhe um gráfico de linha K
Os dados financeiros desenhados com a estrutura mpl_finance
precisam especificar o endereço da instalação:
pip install https://github.com/matplotlib/mpl_finance/archive/master.zip
Código:
from mpl_finance import candlestick_ochl
import matplotlib.pyplot as plt
from matplotlib.pylab import date2num
# 先画日K线
fig, axes = plt.subplots(nrows=1, ncols=1, figsize=(20, 8), dpi=80)
# 准备数据, array数组
stock_day['date'] = date2num(stock_day.index)
day_k = stock_day[['date', 'open', 'close', 'high', 'low']]
# 绘制k线图
candlestick_ochl(axes, day_k.values, width=0.2, colorup='r', colordown='g')
# x刻度设置为日期
axes.xaxis_date()
plt.show()
# 周K线图数据显示出来
fig, axes = plt.subplots(nrows=1, ncols=1, figsize=(20, 8), dpi=80)
period_week_data['date'] = date2num(period_week_data.index)
week_k = period_week_data[['date', 'open', 'close', 'high', 'low']]
# 绘制k线图
candlestick_ochl(axes, week_k.values, width=0.2, colorup='r', colordown='g')
# x刻度设置为日期
axes.xaxis_date()
plt.show()
4 O que são dados de desclassificação e operações de reatribuição (entender)
As empresas listadas terão uma série de variações patrimoniais, como dividendos em dinheiro, ações bonificadas, etc. de tempos em tempos, o que causará variações anormais nos preços das ações, o que torna impossível para nós calcularmos diretamente os preços das ações através dos preços das ações. Este tipo de dados também é denominado dados ex-direitos.
Portanto, precisamos processar esse tipo de dado, que também é chamado de dados de re-direitos. Como restaurar direitos?
简单的一种方式:
原始数据:
1号:100 2号:50 3号:53 4号:51
复权后:
100 / 50 = 2 比例
1号:100 2号:100 3号:106 4号:102
5 dados fundamentais
O uso de dados fundamentais
É usado principalmente para análise fundamentalista. Ele se concentra principalmente na pesquisa e análise da empresa a partir dos fatores fundamentais do estoque, como capacidade de negócio, situação financeira, histórico da indústria, etc., na tentativa de encontrar o "intrínseco valor "das ações na perspectiva da empresa, de modo que o valor de mercado das ações seja comparado e as ações com maior valor de investimento sejam selecionadas.