Volatilidade Calcular das vendas usando uma janela rolando

votos
0

Hiii!

Eu preciso replicar as variáveis ​​a partir de um papel. No entanto, não consigo encontrar o comando certo para obter o resultado certo.

A definição do SALESVOLATILITY variável: Desvio padrão da receita de vendas. Nós usamos uma janela rolando e exigem três anos de dados. A variável tem um valor máximo de 10 winsorized.

O comando eu usei:

FYear tipo company_fkey

por company_fkey: gen VendaC = venda

por company_fkey: gen sale1 = venda [_n-1]

por company_fkey: gen sale2 = venda [_n-2]

sales_lags locais VendaC sale1 sale2

egen salesmean = rowmean ( `) sales_lags

gen var1 = (VendaC-salesmean) ^ 2

gen var2 = (sale1-salesmean) ^ 2

gen var3 = (sale2-salesmean) ^ 2

gen var = (Q1 + var2 var3 +) / 3

gen sd = sqrt (var)

Resumir sd

Infelizmente, eu não encontrar a saída certa.

[O conjunto de dados parecido com este: company_fkey venda FYear

0000001750 2013 2035

0000001750 2014 1594,3

0000001750 2015 1662,6

0000001800 2013 21848

0000001800 2014 20247

0000001800 2015 20405

0000002178 2013 3945.969

0000002178 2014 4132.826

0000002178 2015 1944.279

0000002488 2013 5299

0000002488 2014 5506

0000002491 2013 997,039

0000002491 2014 1215.092

0000002969 2013 10.180,4

0000002969 2014 10439

0000002969 2015 9894,9

0000003116 2013 317,711

0000003116 2014 593,078

0000003570 2013 267,213

0000003570 2014 267,954

0000003570 2015 270,885

0000004127 2013 1792] 1

Agradeço antecipadamente!

Publicado 14/01/2020 em 00:01
fonte usuário
Em outras línguas...                            


1 respostas

votos
1

Comandos de conveniência neste território incluem rangestat, que deve ser instalado usando

ssc install rangestat 

Aqui está um exemplo token. Note-se que aqui, como em geral, em outro lugar no Stata, os desvios padrão são calculados usando tamanho da amostra - 1 no denominador.

clear 
input str10 company_fkey    fyear   sale
0000001750  2013    2035
0000001750  2014    1594.3
0000001750  2015    1662.6
0000001800  2013    21848
0000001800  2014    20247
0000001800  2015    20405
0000002178  2013    3945.969
0000002178  2014    4132.826
0000002178  2015    1944.279
0000002969  2013    10180.4
0000002969  2014    10439
0000002969  2015    9894.9
0000003570  2013    267.213
0000003570  2014    267.954
0000003570  2015    270.88
end 

rangestat (count) sale (sd) sale, by(company_fkey) interval(fyear -2 0)

list, sepby(company_fkey)

     +------------------------------------------------------+
     | company_~y   fyear       sale   sale_c~t     sale_sd |
     |------------------------------------------------------|
  1. | 0000001750    2013       2035          1           . |
  2. | 0000001750    2014     1594.3          2   311.62192 |
  3. | 0000001750    2015     1662.6          3     237.193 |
     |------------------------------------------------------|
  4. | 0000001800    2013      21848          1           . |
  5. | 0000001800    2014      20247          2    1132.078 |
  6. | 0000001800    2015      20405          3   882.27112 |
     |------------------------------------------------------|
  7. | 0000002178    2013   3945.969          1           . |
  8. | 0000002178    2014   4132.826          2   132.12798 |
  9. | 0000002178    2015   1944.279          3     1213.22 |
     |------------------------------------------------------|
 10. | 0000002969    2013    10180.4          1           . |
 11. | 0000002969    2014      10439          2   182.85754 |
 12. | 0000002969    2015     9894.9          3   272.16061 |
     |------------------------------------------------------|
 13. | 0000003570    2013    267.213          1           . |
 14. | 0000003570    2014    267.954          2   .52396423 |
 15. | 0000003570    2015     270.88          3   1.9389583 |
     +------------------------------------------------------+
Respondeu 14/01/2020 em 04:09
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more