【问题标题】:calculate the percentile rank of the maximum value duration (DolphinDB)计算最大值持续时间的百分位排名(DolphinDB)
【发布时间】:2021-12-24 01:54:13
【问题描述】:

假设一只股票每天有 4800 个刻度。随着时间的推移,所有的蜱都均匀分布。如何计算 DolphinDB 时间窗口内最大值的时间百分位排名?

【问题讨论】:

    标签: dolphindb


    【解决方案1】:

    请看下面的代码,可以使用context by 子句和函数rank 来实现。

    n = 40
    date = take(2019.11.07, n)
    time = (09:30:00.000 + rand(int(6.5*60*60*1000), n)).sort!()
    timestamp = concatDateTime(date, time)
    price = 100+cumsum(rand(0.02, n)-0.01)
    volume = rand(1000, n)
    symbol = rand(`AAPL`FB`AMZN`MSFT, n)
    trade = table(symbol, date, time, timestamp, price, volume).sortBy!(`symbol`timestamp)
     select  max(price),atImax(price,timestamp) as max_buyprice01,rank(timestamp,percent=true) as rank1,rank(timestamp,percent=false) as rank2,count(timestamp)
    from trade as t context by symbol,date
    

    【讨论】:

      猜你喜欢
      • 2010-11-06
      • 2014-02-27
      • 2019-07-04
      • 2012-02-27
      • 2018-10-21
      • 1970-01-01
      • 2017-03-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多