Stata:在一定条件下,在15分钟的窗口内最小和最大

时间:2017-08-13 18:44:35

标签: stata

我有一个看起来像这样的数据集:

import {getLoginStatusUrl} from './some/path.js'

let stub = sinon.stub(),
opts = { call: getLoginStatusUrl() };

stub.withExactArgs().returns("somePredefinedReturnValue")

我希望汇总在15分钟窗口内发生并具有相同交易量的所有交易,获取最高和最低价格,然后使用这些最高和最低价格进行进一步计算。

有人可以帮我解决这个问题吗?我试过用了     egen min_price =(price)

使用一些if语句,但它似乎只适用于整个数据集。

提前致谢!
Ĵ

1 个答案:

答案 0 :(得分:0)

help egenhelp by可能是开始的地方。

我将采取的方式是:

  1. 为每个15分钟窗口创建一个不同值的分类变量。
  2. 使用egen创建分类变量和音量的最小和最大变量by
  3. 如果您添加了一些您尝试过的问题但仍无法获得所需内容的代码,我很乐意编辑我的答案以回答问题的编码部分

    编辑:

    根据您的评论更新一下,您可以使用这样的代码来获取一个指标变量,然后您可以使用byegen来获取(至少我如何解释)什么你想要

    // generate variable for window indicator
    gen window_indicator = .
    
    // get the max value and divide by window length
    sum exec_minute
    local max = floor(`r(max)'/15)
    
    
    // loop over values from 0 to max and replace window indicator 
    // to be equal to the local ii for each section
    forvalues ii = 0/`max' {
        replace window_indicator = `ii' if exec_minute> `ii'*15 & exec_minute< (`ii'+1)*15
    
    }