2017-09-07 16 views
0

商品の価格変動がどれほど変動するかを計算するアルゴリズムを設計しようとしています。商品の価格ボラティリティを計算するアルゴリズム

これは、商品の価格が常に上がったり下がったりすると、商品の価格が徐々に上昇してから急激に下落する場合よりも高いスコアを持つはずです。

ここ

は私が意味するものの例である:

商品A:1 - > 2 - > 3 - > 2 - > 1 - > 3 - > 4 - > 2 - > 1

商品B:1→2→3→4→5→6→7→8→2

商品C:1→2→3→4→5→4商品Aは価格が上昇し、定期的に落ちるという「波」のようなパターンをしています。

商品Bは、価格が徐々に上昇してから急に下がるという「崖」のようなパターンです。

商品Cは、価格が徐々に上昇してから徐々に下がるという「丘」のようなパターンです。

Aは最も高いランク付けを受け、C、Bが続きます。波のパターンが多いほど商品の価格は高くなります。

これを行う可能性のあるアルゴリズムの提案はありますか?

ありがとうございます!

+0

私はアプローチを思いついた私はここに投稿させて....それが仕事をする必要があるように見える – zenwraight

+0

あなたがする必要があるのは価格差の分布、または価格比率のログを測定することだけです。これらの分布の標準偏差は、ボラティリティのカノニカルな尺度である。別の尺度は、これらの差異における時間点 - 時間点の相関である。相関が高いことは、より大きな傾向性とより低い揮発性を意味する。 – jwimberley

+0

@jwimberleyの提案に感謝します。あなたは、あなたが意味するものをより良く説明するための例を提供することができますか?私はそれを理解しようとしているが、完全に理解していない – badcoder

答えて

1

私のアプローチは次のようになります。

私のアルゴリズムでは、上記の例を検討しています。

A: 1 -> 2 -> 3 -> 2 -> 1 -> 3 -> 4 -> 2 -> 1 

B: 1 -> 2 -> 3 -> 4 -> 5 -> 6 -> 7 -> 8 -> 2 

C: 1 -> 2 -> 3 -> 4 -> 5 -> 4 -> 3 -> 2-> 1 

私はこれらのリストをスカッシュします。スカッシュは、増加または減少するシーケンスの開始値と終了値を意味します。

だから、縮んだ後、リストは次のようになります。

A: 1 -> 3 -> 1 -> 4 -> 1 
B: 1 -> 8 -> 2 
C: 1 -> 5 -> 1 

は、このことが行われたら、今、私は私と私+ 1つの要素との間の差異を取り、その後、平均を取り、平均に基づいて、私は彼らにランクを与えます。

は、だから私と私は+ 1つの要素との違いは、今度は、この違いを合計して平均値を見てみましょう。この

 2 2  3  3 
A: 1 --> 3 --> 1 --> 4 --> 1 

     7  6 
B: 1 --> 8 --> 2 

    4  4 
C: 1 --> 5 --> 1 

ようになります。

A: (2+2+3+3)/4 = 2.5 
B: (7+6)/2 = 6.5 
C: (4+4)/2 = 4 

今、私たちは

A < C < B 

は、この情報がお役に立てば幸い、この平均値に基づいて順位を割り当てることができます!

+0

これは本当に非常に有望に見えるうわー@zenwraight。私はそれを試して、それがどのように実行するかを見ていきます。提案に感謝します。 – badcoder

+0

こんにちは@badcoderいつでも、私は多くの質問を好きでした、それを試してみてください:) – zenwraight

+0

簡単な質問:あなたは、価格があまり(またはまったく)変更されないときに何を提案しますか?例:1→1→1→1→1→1は、フラットラインであり、すべての中で最も揮発性が低いので、最悪のランクを持つ必要があります。この場合、すべての数値の平均を求めると、元の数値が得られます。だから6→6→6→6は6となり、1→1→1→1→1→1は1となる。これは両者であるため意味がない平らな線は動きがないが、ランクが異なっている。何か提案はありますか? – badcoder

関連する問題