Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sorting 算法股票交易-如何有效地处理事件流以更新[平均值、标准差、中值]值?_Sorting_Mean_Median_Stock_Algorithmic Trading - Fatal编程技术网

Sorting 算法股票交易-如何有效地处理事件流以更新[平均值、标准差、中值]值?

Sorting 算法股票交易-如何有效地处理事件流以更新[平均值、标准差、中值]值?,sorting,mean,median,stock,algorithmic-trading,Sorting,Mean,Median,Stock,Algorithmic Trading,我已经实现了一个简化的算法,该算法从传入数据流中维护股票统计信息。目标是使用有效的算法来计算简单的统计数据,均值,方差和中值。该计划将只为每个公司保留一个值,因此以前评级公司的新值应取代以前的值。还可以使用delete命令从当前列表中删除公司。输入必须如下所示: A 111.12 Apple_Inc A 745.29 Alphabet_Inc A 17.10 Twitter_Inc S A 101.33 Apple_Inc S A 112.55 Facebook_Inc S D Apple_In

我已经实现了一个简化的算法,该算法从传入数据流中维护股票统计信息。目标是使用有效的算法来计算简单的统计数据,
均值
方差
中值
。该计划将只为每个公司保留一个值,因此以前评级公司的新值应取代以前的值。还可以使用
delete
命令从当前列表中删除公司。输入必须如下所示:

A 111.12 Apple_Inc
A 745.29 Alphabet_Inc
A 17.10 Twitter_Inc
S
A 101.33 Apple_Inc
S
A 112.55 Facebook_Inc
S
D Apple_Inc
S
A
”表示输入数据,
D
”表示
删除数据,当要求
S
”时,程序应给出以下输出:(
avg
是平均值,
S
是标准偏差,
m
是中值)

正如一个注释,当我们必须计算中位数时,如果公司的数目是奇数的,它应该在中间用相应的公司名称返回更大的数字。 只要我们插入、删除或添加新值,统计值就应该始终更新,而不是生成新值。

最有效的处理方法是使用有限状态机 在经历了近半个世纪的高科技实践经验后,我敢说这一点(并且可以看到资源占用/总体性能/流处理延迟极限)。
(当然,术语“高”会随着时间的推移而蔓延:o),但令人惊讶的是,它不会膨胀所获得的知识)

鉴于上述规则,金融服务管理局的任务非常简单

  • FSA输入
    {A,D,S}-前缀值对-(aListedTitleVALUE,aListedTITLE)

  • FSA内部状态变量
    ListTitleValuePairsToProcess

    [X]
    -状态下为空(未初始化状态(当FSA“关闭”)

  • FSA事件处理
如上所述:

{ onA_aListedValuePairUPDATE, //.CHK aValuePAIR presence in FSA-state + .UPD { aValuePAIR | aValuePAIR.aListedTitleVALUE }
  onD_aListedValuePairDELETE, //.DEL aValuePAIR        from FSA-state
  onS_ProcessAndPrintRESULTS  //.DO {Mean,StDev,Median } on FSA-state + .PRINT
  }

一种形式拓扑&有限状态自动机图
设计选项:
根据底层硬件的输入流处理延迟v/s计算能力(因为
FSA
-s非常简单,它可能是一个极简的超高速SoC硬件实现)v/s(输出处理器的非)阻塞性质,将
[FSA.PROCESS]
作为一种在
之后,
onS\u进程和打印结果的“预计算”部分已经作为尾部活动(.onA\u aListedValuePairUPDATE)->
FSA过渡参考:*

您需要向我们展示您尝试了什么以及哪里出了问题。我们不是来为您做项目的,尽管我们很乐意帮助您解决具体问题。路易斯,我们需要更多信息和一些代码来准确了解您将要解决的问题。我将擅长帮助您解决此类问题我在市场金融工作,但我们需要代码和一个特定的问题。
{ onA_aListedValuePairUPDATE, //.CHK aValuePAIR presence in FSA-state + .UPD { aValuePAIR | aValuePAIR.aListedTitleVALUE }
  onD_aListedValuePairDELETE, //.DEL aValuePAIR        from FSA-state
  onS_ProcessAndPrintRESULTS  //.DO {Mean,StDev,Median } on FSA-state + .PRINT
  }
[X]
  \
   ( .onInit )->---[FSA.WAIT-STATE]
                   ^  \   \   \
                   |   \   \   ( .onA_aListedValuePairUPDATE )->---[FSA.UPDATE aListedValuePair]
                   |    \   \                                                                 \
                   |     \   \                                                                 ( .onDone )->---(*)-----------+
                   |      \   \                                                                                              |
                   |       \   ( .onD_aListedValuePairDELETE )->---[FSA.DELETE aListedValuePair]                             |
                   |        \                                                                 \                              |
                   |         \                                                                 ( .onDone )->---------------+ |
                   |          \                                                                                            | |
                   |           ( .onS_ProcessAndPrintRESULTS )->---[FSA.PROCESS]                                           | |
                   |                                                          \                                            | |
                   |                                                          ( .onDone )->---[FSA.PRINT]                  | |
                   |                                                                                    \                  | |
                   |                                                                                     ( .onDone )->---+ | |
                   |                                                                                                     | | |
                   +-----------------------------------------------------------------------------------------------------+-+-+