pwd
'/home/sergey/Py_Models_at_Work'

Распределение объема торгов по часам в течение дня неравномерно.

Сначала приблизительно оценим эту неравномерность:

  1. Шаг 1. Просуммируем объем всех сделок в течение данного часа по всем торговым дням.
  2. Шаг 2. Нормируем полученные значения на общую сумму проведенных сделок.
usdrub = pd.read_csv('./data/SiZ5.csv',index_col=[0],usecols=[0,5], parse_dates=True)
usdrub.columns = ['volume']
(usdrub.groupby(usdrub.index.hour).agg('sum')/usdrub.sum()).\
   plot(kind='bar', title='Распределение объема сделок в течение дня');

Теперь попробуем усреднить объем торгов внутри 30-минутных отрезков как процент от оборота внутри данного торгового дня:

vol30 = usdrub.resample('30Min','sum')
vol30['daily_vol'] = vol30.groupby(pd.TimeGrouper('1D')).transform('sum')
vol30['daily_pc'] = vol30.volume/vol30.daily_vol
vol30.tail()
volume daily_vol daily_pc
2015-10-02 16:00:00 323279 3100475 0.104268
2015-10-02 16:30:00 210483 3100475 0.067887
2015-10-02 17:00:00 152571 3100475 0.049209
2015-10-02 17:30:00 124096 3100475 0.040025
2015-10-02 18:00:00 48425 3100475 0.015619

Результаты оформим в виде DataFrame, где колонки:

  • mn — процент сделок (от общего внутридневного оборота) в данном временном отрезке, усредненный по всему торговому периоду.
  • sd — стандартное отклонение процента сделок, рассчитанное по всему торговому периоду
results = pd.DataFrame()
results['mn'] = vol30.daily_pc.groupby(vol30.index.time).agg('mean').dropna()
results['sd'] = vol30.daily_pc.groupby(vol30.index.time).agg('std').dropna()
yerr_low = results.mn - results.sd
yerr_high = results.mn + results.sd

results['mn'].plot(kind='bar',
                   figsize=(10,3),
                   yerr=[yerr_low, yerr_high],
                   title='Внутридневной объем торгов с дисперсией');

Следует отметить, что хотя «средние» значения и демонстрируют хорошо известный U-паттерн в течение дня, ВОЗМОЖНЫ ЗНАЧИТЕЛЬНЫЕ ОТКЛОНЕНИЯ от средних значений.

Write a comment:

*

Your email address will not be published.

© 2014 In R we trust.
Top
Follow us: