#P2163. Easy Trading

Easy Trading

描述描述
背景
弗兰克是高级商业市场有限公司(ACM Ltd)的专业股票交易员,他偏爱“简易交易”——采用直观策略来判断何时买入及卖出股票。弗兰克拥有记录每日历史股价的数据库,他将两个整数mmnn1m<n1001 \leq m < n \leq 100)作为交易策略的参数。每日他会计算两个数值:P(m)P(m)——过去mm日的平均股价,以及P(n)P(n)——过去nn日的平均股价。当P(m)>P(n)P(m) > P(n)时,表明处于上涨趋势(交易员称之为牛市趋势);当P(m)<P(n)P(m) < P(n)时,则为下跌趋势(熊市趋势)。实际中,P(m)P(m)P(n)P(n)的值绝不会相等。

当趋势从熊市转向牛市时,弗兰克会收到买入信号;当趋势从牛市转向熊市时,则收到卖出信号。

弗兰克考虑了不同的mmnn取值,希望借助历史股价进行回测。他获取了一组kk个历史股价pip_in<k10000n < k \leq 10000,且1ik1 \leq i \leq k0<pi<1000 < p_i < 100)。对于每个iinikn \leq i \leq k),他计算Pi(m)P_i(m)Pi(n)P_i(n)——分别为pim+1p_{i-m+1}pip_ipin+1p_{i-n+1}pip_i的算术平均值。回测按以下规则生成交易信号:

  • Pi(m)>Pi(n)P_i(m) > P_i(n),则第ii日为牛市趋势。当i=ni = n或第i1i-1日为熊市趋势时,生成“第ii日买入”信号。
  • Pi(m)<Pi(n)P_i(m) < P_i(n),则第ii日为熊市趋势。当i=ni = n或第i1i-1日为牛市趋势时,生成“第ii日卖出”信号。

你的任务是为弗兰克编写程序以回测指定策略——按天数递增顺序输出信号,首个信号对应首个测试日(第nn日)。

输入输入
输入首行包含三个整数mmnnkk,随后kk行依次为第1日至第kk日的股价,每个股价pip_i保留两位小数。输入数据确保对所有iinikn \leq i \leq k),Pi(m)Pi(n)P_i(m) \neq P_i(n)

输出输出
按问题描述输出信号列表,每行一个信号。

示例输入

3 5 17
8.45
9.10
9.40
10.15
10.40
11.08
11.73
10.77
10.80
10.01
9.14

示例输出

BUY ON DAY 5
SELL ON DAY 12

东北欧 2004