Dear all,
Can you please help..
I am trying to find the semi-standard deviation, looking at the volatility below the mean, using rolling window. I tried but I have missing values, I only need semi-deviation with non-missing values.
previously I have tried to use "!missing", but couldn't be able to fit it, and I got error.
my data looks like this:
* Example generated by -dataex-. For more info, type help dataex
clear
input float id int year double(score n ave_score) float less_score double ESGSTD
+----------------------------------------------------------+
| id year score n ave_score less_s~e scoreSTD |
|----------------------------------------------------------|
1. | 1 2004 22.68 1 22.68 . . |
2. | 1 2005 26.76 2 24.72 . . |
3. | 1 2006 21.34 3 23.593333 21.34 . |
4. | 1 2007 28.92 4 24.925 . . |
5. | 1 2008 25.09 5 24.958 . . |
6. | 1 2009 28.67 5 26.156 . . |
7. | 1 2010 33.73 5 27.55 . . |
8. | 1 2011 30.76 5 29.434 . . |
9. | 1 2012 30.66 5 29.782 . . |
10. | 1 2013 28.06 5 30.376 28.06 . |
11. | 1 2014 26.53 5 29.948 26.53 1.0818725 |
12. | 1 2015 32.83 5 29.768 . 1.0818725 |
13. | 1 2016 37.63 5 31.142 . 1.0818725 |
14. | 1 2017 36.78 5 32.366 . 1.0818725 |
15. | 1 2018 41.75 5 35.104 . . |
16. | 1 2019 41.27 5 38.052 . . |
17. | 1 2020 41.02 5 39.69 . . |
18. | 1 2021 44.03 5 40.97 . . |
19. | 1 2022 43.19 5 42.252 . . |
|----------------------------------------------------------|
20. | 2 2004 . 0 . . . |
21. | 2 2005 . 0 . . . |
22. | 2 2006 . 0 . . . |
23. | 2 2007 . 0 . . . |
24. | 2 2008 2.61 1 2.61 . . |
25. | 2 2009 2.54 2 2.575 2.54 . |
26. | 2 2010 2.84 3 2.6633333 . . |
27. | 2 2011 2.29 4 2.57 2.29 .1767767 |
28. | 2 2012 1.81 5 2.418 1.81 .37098968 |
29. | 2 2013 2.03 5 2.302 2.03 .31647802 |
30. | 2 2014 1.6 5 2.114 1.6 .29601518 |
31. | 2 2015 7.62 5 3.07 . .29601518 |
32. | 2 2016 61.67 5 14.946 . .21501935 |
33. | 2 2017 61.32 5 26.848 . .30405588 |
34. | 2 2018 60.75 5 38.592 . . |
35. | 2 2019 60.97 5 50.466 . . |
36. | 2 2020 59.72 5 60.886 59.72 . |
37. | 2 2021 62.71 5 61.094 . . |
38. | 2 2022 1 5 49.03 1 41.521311 |
|----------------------------------------------------------|
39. | 3 2004 . 0 . . . |
40. | 3 2005 . 0 . . . |
41. | 3 2006 . 0 . . . |
42. | 3 2007 . 0 . . . |
43. | 3 2008 45.57 1 45.57 . . |
44. | 3 2009 43.41 2 44.49 43.41 . |
45. | 3 2010 55.29 3 48.09 . . |
46. | 3 2011 53.49 4 49.44 . . |
47. | 3 2012 52.35 5 50.022 . . |
48. | 3 2013 54.57 5 51.822 . . |
49. | 3 2014 55.45 5 54.23 . . |
50. | 3 2015 55.46 5 54.264 . . |
51. | 3 2016 72.39 5 58.044 . . |
52. | 3 2017 72.47 5 62.068 . . |
53. | 3 2018 74.56 5 66.066 . . |
54. | 3 2019 78.44 5 70.664 . . |
55. | 3 2020 74.53 5 74.478 . . |
56. | 3 2021 78.81 5 75.762 . . |
57. | 3 2022 78.66 5 77 . . |
|----------------------------------------------------------|
58. | 4 2004 . 0 . . . |
59. | 4 2005 . 0 . . . |
60. | 4 2006 . 0 . . . |
61. | 4 2007 . 0 . . . |
62. | 4 2008 . 0 . . . |
63. | 4 2009 . 0 . . . |
64. | 4 2010 . 0 . . . |
65. | 4 2011 . 0 . . . |
66. | 4 2012 . 0 . . . |
67. | 4 2013 . 0 . . . |
68. | 4 2014 . 0 . . . |
69. | 4 2015 . 0 . . . |
70. | 4 2016 21.8 1 21.8 . . |
71. | 4 2017 25.9 2 23.85 . . |
72. | 4 2018 24.44 3 24.046667 . . |
73. | 4 2019 25.58 4 24.43 . . |
74. | 4 2020 21.48 5 23.84 21.48 . |
75. | 4 2021 28.13 5 25.106 . . |
76. | 4 2022 1 5 20.126 1 14.481547 |
|----------------------------------------------------------|
77. | 5 2004 27.4 1 27.4 . . |
78. | 5 2005 32.63 2 30.015 . . |
79. | 5 2006 30.64 3 30.223333 . . |
80. | 5 2007 30.53 4 30.3 . . |
81. | 5 2008 47.37 5 33.714 . . |
82. | 5 2009 48.55 5 37.944 . . |
83. | 5 2010 62.13 5 43.844 . . |
84. | 5 2011 59.02 5 49.52 . . |
85. | 5 2012 71.24 5 57.662 . . |
86. | 5 2013 67.33 5 61.654 . . |
87. | 5 2014 71.81 5 66.306 . . |
88. | 5 2015 68 5 67.48 . . |
89. | 5 2016 58.38 5 67.352 58.38 . |
90. | 5 2017 69.36 5 66.976 . . |
91. | 5 2018 69.66 5 67.442 . . |
92. | 5 2019 65.86 5 66.252 65.86 5.2891584 |
93. | 5 2020 71.94 5 67.04 . 5.2891584 |
94. | 5 2021 69.7 5 69.304 . . |
95. | 5 2022 71.71 5 69.774 . . |
|----------------------------------------------------------|
96. | 6 2004 . 0 . . . |
97. | 6 2005 . 0 . . . |
98. | 6 2006 . 0 . . . |
99. | 6 2007 . 0 . . . |
100. | 6 2008 . 0 . . . |
+----------------------------------------------------------+
.
I have used the following steps:
rangestat (count) n= score (mean) ave_score = score , interval( year -4 0) by(id)
gen less_score = .
replace less_score = score if (score< ave_score )
rangestat (sd) scoreSTD= less_score , by(id) interval(year -4 0)
Can you please help..
I am trying to find the semi-standard deviation, looking at the volatility below the mean, using rolling window. I tried but I have missing values, I only need semi-deviation with non-missing values.
previously I have tried to use "!missing", but couldn't be able to fit it, and I got error.
my data looks like this:
* Example generated by -dataex-. For more info, type help dataex
clear
input float id int year double(score n ave_score) float less_score double ESGSTD
+----------------------------------------------------------+
| id year score n ave_score less_s~e scoreSTD |
|----------------------------------------------------------|
1. | 1 2004 22.68 1 22.68 . . |
2. | 1 2005 26.76 2 24.72 . . |
3. | 1 2006 21.34 3 23.593333 21.34 . |
4. | 1 2007 28.92 4 24.925 . . |
5. | 1 2008 25.09 5 24.958 . . |
6. | 1 2009 28.67 5 26.156 . . |
7. | 1 2010 33.73 5 27.55 . . |
8. | 1 2011 30.76 5 29.434 . . |
9. | 1 2012 30.66 5 29.782 . . |
10. | 1 2013 28.06 5 30.376 28.06 . |
11. | 1 2014 26.53 5 29.948 26.53 1.0818725 |
12. | 1 2015 32.83 5 29.768 . 1.0818725 |
13. | 1 2016 37.63 5 31.142 . 1.0818725 |
14. | 1 2017 36.78 5 32.366 . 1.0818725 |
15. | 1 2018 41.75 5 35.104 . . |
16. | 1 2019 41.27 5 38.052 . . |
17. | 1 2020 41.02 5 39.69 . . |
18. | 1 2021 44.03 5 40.97 . . |
19. | 1 2022 43.19 5 42.252 . . |
|----------------------------------------------------------|
20. | 2 2004 . 0 . . . |
21. | 2 2005 . 0 . . . |
22. | 2 2006 . 0 . . . |
23. | 2 2007 . 0 . . . |
24. | 2 2008 2.61 1 2.61 . . |
25. | 2 2009 2.54 2 2.575 2.54 . |
26. | 2 2010 2.84 3 2.6633333 . . |
27. | 2 2011 2.29 4 2.57 2.29 .1767767 |
28. | 2 2012 1.81 5 2.418 1.81 .37098968 |
29. | 2 2013 2.03 5 2.302 2.03 .31647802 |
30. | 2 2014 1.6 5 2.114 1.6 .29601518 |
31. | 2 2015 7.62 5 3.07 . .29601518 |
32. | 2 2016 61.67 5 14.946 . .21501935 |
33. | 2 2017 61.32 5 26.848 . .30405588 |
34. | 2 2018 60.75 5 38.592 . . |
35. | 2 2019 60.97 5 50.466 . . |
36. | 2 2020 59.72 5 60.886 59.72 . |
37. | 2 2021 62.71 5 61.094 . . |
38. | 2 2022 1 5 49.03 1 41.521311 |
|----------------------------------------------------------|
39. | 3 2004 . 0 . . . |
40. | 3 2005 . 0 . . . |
41. | 3 2006 . 0 . . . |
42. | 3 2007 . 0 . . . |
43. | 3 2008 45.57 1 45.57 . . |
44. | 3 2009 43.41 2 44.49 43.41 . |
45. | 3 2010 55.29 3 48.09 . . |
46. | 3 2011 53.49 4 49.44 . . |
47. | 3 2012 52.35 5 50.022 . . |
48. | 3 2013 54.57 5 51.822 . . |
49. | 3 2014 55.45 5 54.23 . . |
50. | 3 2015 55.46 5 54.264 . . |
51. | 3 2016 72.39 5 58.044 . . |
52. | 3 2017 72.47 5 62.068 . . |
53. | 3 2018 74.56 5 66.066 . . |
54. | 3 2019 78.44 5 70.664 . . |
55. | 3 2020 74.53 5 74.478 . . |
56. | 3 2021 78.81 5 75.762 . . |
57. | 3 2022 78.66 5 77 . . |
|----------------------------------------------------------|
58. | 4 2004 . 0 . . . |
59. | 4 2005 . 0 . . . |
60. | 4 2006 . 0 . . . |
61. | 4 2007 . 0 . . . |
62. | 4 2008 . 0 . . . |
63. | 4 2009 . 0 . . . |
64. | 4 2010 . 0 . . . |
65. | 4 2011 . 0 . . . |
66. | 4 2012 . 0 . . . |
67. | 4 2013 . 0 . . . |
68. | 4 2014 . 0 . . . |
69. | 4 2015 . 0 . . . |
70. | 4 2016 21.8 1 21.8 . . |
71. | 4 2017 25.9 2 23.85 . . |
72. | 4 2018 24.44 3 24.046667 . . |
73. | 4 2019 25.58 4 24.43 . . |
74. | 4 2020 21.48 5 23.84 21.48 . |
75. | 4 2021 28.13 5 25.106 . . |
76. | 4 2022 1 5 20.126 1 14.481547 |
|----------------------------------------------------------|
77. | 5 2004 27.4 1 27.4 . . |
78. | 5 2005 32.63 2 30.015 . . |
79. | 5 2006 30.64 3 30.223333 . . |
80. | 5 2007 30.53 4 30.3 . . |
81. | 5 2008 47.37 5 33.714 . . |
82. | 5 2009 48.55 5 37.944 . . |
83. | 5 2010 62.13 5 43.844 . . |
84. | 5 2011 59.02 5 49.52 . . |
85. | 5 2012 71.24 5 57.662 . . |
86. | 5 2013 67.33 5 61.654 . . |
87. | 5 2014 71.81 5 66.306 . . |
88. | 5 2015 68 5 67.48 . . |
89. | 5 2016 58.38 5 67.352 58.38 . |
90. | 5 2017 69.36 5 66.976 . . |
91. | 5 2018 69.66 5 67.442 . . |
92. | 5 2019 65.86 5 66.252 65.86 5.2891584 |
93. | 5 2020 71.94 5 67.04 . 5.2891584 |
94. | 5 2021 69.7 5 69.304 . . |
95. | 5 2022 71.71 5 69.774 . . |
|----------------------------------------------------------|
96. | 6 2004 . 0 . . . |
97. | 6 2005 . 0 . . . |
98. | 6 2006 . 0 . . . |
99. | 6 2007 . 0 . . . |
100. | 6 2008 . 0 . . . |
+----------------------------------------------------------+
.
I have used the following steps:
rangestat (count) n= score (mean) ave_score = score , interval( year -4 0) by(id)
gen less_score = .
replace less_score = score if (score< ave_score )
rangestat (sd) scoreSTD= less_score , by(id) interval(year -4 0)
Comment