KDB 数据处理语句

select Future:last(price) by date, 5 xbar time.minute from idxFutTrade where date within(2011.07.15;2011.08.14),symbol = `IF1108,time>=09:30:00,time<=15:00:00



ssym:`600000
sdate:2011.08.25
tbl:"shTrade"
tmPeriod:60
tradeInitiationSingle:{[ssym;sdate;tbl;tmPeriod]
 pref:2#tbl;
 quoteMkt:?[("S"$pref)="S"$"sh"; "shTradeQuote"; ?[("S"$pref)="S"$"sz"; "szTradeQuote";"idxFutTrade"]];
 .trd: `acumShares xasc  `acumShares xkey select time,  acumShares:`int$sums share, price,share from "S"$tbl where date=sdate,symbol=ssym;
 .qot: `acumShares xasc `acumShares xkey select time,  `int$acumShares, acumVolume, buy1, sell1 from "S"$quoteMkt where date=sdate,symbol=ssym;
 .tt: `acumShares xasc select time,  acumShares, price, buy1, sell1, share, idx:sums ?[null buy1;0;1] from (.trd uj .qot);
 .tt1 : select last time, initiation: (sum strength), sum share  by idx from select time, strength: (signum((price-(buy1+sell1)%2)))*share,buy1,sell1, price, share, idx from select time, price, fills buy1, fills sell1, share, idx from .tt;
 .tt2: select vwap:last price wavg price by tmPeriod xbar time.second from .trd where time >=09:30:00;
 .tt3: select time, initiation, share from .tt1 where time>= 09:30:00;
 .tt4:select sum(initiation), (sum share), signum( sum(initiation) % sum(share))  by tmPeriod xbar time.second from .tt3;
 .tt5: select second, initiation, share, initiation1, vwap, signum( vwap - prev vwap) from  ( .tt4 uj .tt2) ;
  perc:select (sum  abs(vwap1+ prev initiation1))%( 2* count .tt5)  from .tt5;
  flip `date`sym1`accuracy!( (enlist sdate); (enlist ssym); ( perc[`vwap1]))
 };

tradeInitiationDays:{[ssym;sdate;numOfDats;tbl;tmPeriod]
     dayList: (neg numOfDats)#(select distinct date from "S"$tbl where date <= sdate)[`date];
     uj/ [ tradeInitiationSingle[ssym;;tbl;tmPeriod] peach dayList]
};


tradeInitiationDays[`601288;2011.08.30;10;"shTrade";120]
tradeInitiationSingle[`600010;2011.08.29;"shTrade";120]


`date xdesc raze tradeInitiationDays[;2011.08.26;2;"shTrade";120] each A50


tradeInitiationDays:{[ssym;sdate;numOfDats;tbl;tmPeriod]
     dayList: (neg numOfDats)#(select distinct date from "S"$tbl where date <= sdate)[`date];
     uj/ [ tradeInitiationSingle[ssym;;tbl;tmPeriod] peach dayList]
};


tradeInitiationDays[`601288;2011.08.30;10;"shTrade";120]
tradeInitiationSingle[`600010;2011.08.29;"shTrade";120]


`date xdesc raze tradeInitiationDays[;2011.08.26;2;"shTrade";120] each A50

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值