我有一张带有时间戳/符号的表,其中每一行都有一个增量时间戳和一个随机符号。
q)sym:`aapl`tsla`aapl`msft`tsla`qcom`msft`tsla`aapl`qcom
::
q)t:([] ts:.z.p+til count sym;sym)
::
q)t
ts sym
----------------------------------
2025.02.09D14:43:43.054056807 aapl
2025.02.09D14:43:43.054056808 tsla
2025.02.09D14:43:43.054056809 aapl
2025.02.09D14:43:43.054056810 msft
2025.02.09D14:43:43.054056811 tsla
2025.02.09D14:43:43.054056812 qcom
2025.02.09D14:43:43.054056813 msft
2025.02.09D14:43:43.054056814 tsla
2025.02.09D14:43:43.054056815 aapl
2025.02.09D14:43:43.054056816 qcom
我想添加一个包含随机价格的列,其中每行都位于该符号的最后价格的 +/-(N*delta_unit) 范围内。例如,假设的起始价格为aapl
200.00 美元,delta_unit 为 0.01。如果 N 为 2,则 aapl 的每个后续价格应在最后价格的 0.02 美元范围内:
ts sym
----------------------------------
2025.02.09D14:43:43.054056807 aapl $200.00
2025.02.09D14:43:43.054056808 tsla
2025.02.09D14:43:43.054056809 aapl $199.98
2025.02.09D14:43:43.054056810 msft
2025.02.09D14:43:43.054056811 tsla
2025.02.09D14:43:43.054056812 qcom
2025.02.09D14:43:43.054056813 msft
2025.02.09D14:43:43.054056814 tsla
2025.02.09D14:43:43.054056815 aapl $199.99
我怎样才能生成这样的随机价格(也许给出从符号到起始价格的映射)?
您可能想根据自己的喜好进行调整,但这是一个起点。
下面的 genpx 接受 delta_unit、N 和 sym。字典中的起始价格是第一个值,然后将其与 n-1 个价格变化列表连接起来。
n?-1 1
生成 +/- 值乘以随机 N 值(例如 5)。将其乘以 delta_unit 输入(例如 0.01),最后sums
得到价格上涨/下跌的最终结果。