2

SPSS 20 を使用して、約 1200 株のティッカーを使用して、30 日間にわたる移動平均 (以前の移動平均) を計算しようとしています。次のようなループを使用したいと思います。

  1. AAAA または 0001 と言うティッカーの 30 日間の移動平均を計算し、MA30AAAA または MA300001 のように保存します。
  2. AAAB または 0002 と言う別のティッカーを取り、上記のようにします。
  3. すべてのティッカーがキャプチャされ、MA が計算され、新しい列に保存されるまで続行されます。

そのための SPSS 構文を開発できると思いますか。

以下を試してみると、エラー警告が表示されます。私の仕事をするために合理的に構造化された構文を得るのを手伝ってくれませんか。

4

1 に答える 1

2

今日、LinkedIn で非常によく似た質問がありました (回答については、こちらまたは以下を参照してください)。

-すべての日付がデータ内に 1 回だけ存在すると仮定すると、以下の構文は、各日付 + 前の 29 日付の移動年間合計と平均を計算します。

-ある日付までの日数が 29 日未満の場合、これらの新しい変数はこの日付に対して計算されません。(私見、これは誤解を招く情報になるでしょう。)

- 2 つの新しい変数がそれぞれ 1 つの列に表示されますが、必要に応じて、いくつかの追加行を使用して各値を独自の列に入れることができます。

敬具、

ルベン

*Generate test data. 
set seed 1. 
input program. 
loop #=1 to 60. 
if #=1 date=date.dmy(21,11,2012). 
if #>1 date=datesum(lag(date),1,"days"). 
end case. 
end loop. 
end file. 
end inp pro. 
if $casenum=1 price=100. 
if $casenum ne 1 price=lag(price)+tru(rv.nor(0,5)). 
for date(edate10). 
exe. 

*Compute moving total + average. 
comp moving_total_30=price. 
do rep dif=1 to 29. 
comp moving_total_30=moving_total_30+lag(price,dif). 
end rep. 
comp moving_average_30=moving_total_30/30. 
exe.
于 2012-11-19T07:33:41.403 に答える