|
|
改了一下,这次运算应该没啥问题了
9 U; B* R0 }6 e* s- u. i- S! Z% G, B F0 X5 ~5 p# E: o1 i# e& e
% }1 a* e( b( Q4 t* L* z
capture program drop hello
* G; ~0 b& X7 F9 U: O {0 u8 L5 t
% Z3 j7 [. Z0 L: A! ]0 L0 uprogram hello
+ F' K- h' {8 c# e; a# n) ]# [' ~6 \1 P( ^
quietly {
# h8 I8 u" \1 b) {
8 B& N% J) t4 A9 U" V+ Z) kclear
, J! M( S* V) D/ ?4 \
& g. g, Q2 q. [/ \4 pcd e:\finance\stock\20110101\source
; m9 N1 L; D. x0 a
; N; \' d4 O: ^5 u0 @/ y8 \: ginsheet using `1'.txt
4 i* |3 ~( n) a: x) h0 ]1 e: t$ S5 E! D5 X" _% H
keep if v5>0: x5 ?3 s9 x; h9 W" S
. D: C a4 Q0 i0 s- a: ^. ~& ] gen vt=_n0 n$ V% U: M9 {% l; C) s: X6 _
) g8 l7 N) i+ w, F1 j: a& F
tsset vt
) i t; \' g9 q2 W" R
+ d+ L( G: t0 A/ G gen zf=D1.v5
+ R9 O( l7 C( q( \; E3 c( {- g% N3 p E8 B% o0 @' W
gsort -v1
$ A; Z8 N0 l, R; J2 v. z3 X `& L( K4 h3 @+ N2 L) o& V! z
gen avol=v7/v5
3 Q/ S9 B3 u9 C + G' e0 Y% A$ ]; ] L2 s9 t& Z
keep if avol>0/ t ]! N. T2 x5 V3 o* f K
8 Q% g5 i2 A1 H% i2 w6 P8 j% z8 o' e drop vt5 g% s+ T3 p) w& R/ i+ T; L/ i$ O& g
U3 Z+ P3 D& |0 o/ u I
gen vt=_n
5 u/ F1 f. ?) s! C8 o0 g " |4 a- x+ z, B2 e$ j, J [' T
tsset vt& \% |! }6 d- N5 \1 C1 E
$ a# p5 x; l5 v' z
sum v5 [aw =avol]
5 O) T1 d( ?" S5 [5 Y2 h. `
3 D' p9 q3 y9 @6 P( ` gen amean=r(mean) in 1
! M/ R- }1 y( G6 z ! I6 l! u k6 r2 \" _
* 总加权平均值 amean
& |% b6 E; L5 A$ ?* ^ ) N2 l. A0 d6 D8 O6 ^: d k0 C
5 | f, G) @+ M6 q keep in 1/240
9 u) S9 G4 a/ S3 N3 S( I& |7 q& i- B) d# W. Y* U8 j* J
sum v5 [aw =avol]
( u( l+ ]) d! r0 ^# D3 L& v# ]' z9 z/ Q( H
gen mean240=r(mean) in 1
" v2 b3 [- h3 Z! v9 N# k* T9 e
7 a% M5 M/ f& z- u *240加权平均值 mean240+ _/ x: n# D3 V8 j
, } q0 A% F+ [, n& e set obs 500
9 ~9 u; W9 ]# x- O4 X! Y. d 4 R! e* \1 U% |, T, u6 Z; M! X
kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph
4 c9 y7 B( ]% Z
' P2 L: k% ]5 z% h; M! P *240 kdensity(dx240 dy240)9 y$ i% S; v3 `0 w& X' o$ J( G
# s& S) j$ ?$ O3 |. O1 l4 S sum dy240
% q' n% y( v! \/ {# j
" g- v3 k1 B$ [" k( f gen yxis=r(max) in 1
3 ^. q7 K9 E' |! K1 h
1 S y$ E, k" @2 `" f gen yxis2=yxis/2
! Q( ]3 H1 Y, l! E9 K2 G
- c, X; `5 i9 J' p" X/ q" M2 ]+ I0 ] *yxis
% I+ r+ l( v! ] D. e+ U: z 8 w1 d! L0 K. f0 D, A: ?5 g% }) z1 O7 q
gen dy240max=r(max)" E* i% {0 u8 q9 @
" e! \! f: g. X6 ]( l, r# S gen dy240minp=r(min)
6 O! |4 Q- l2 v! Z# I) \7 m/ H * Z; r+ M: b& Q1 b% D8 T
gen vtt=_n
0 {$ K9 O. a) ~# l1 t0 B7 W/ `( Z6 Q" I# i {4 C7 ~
tsset vtt: ~9 H# v, c+ T+ e2 v( T. k
8 ~+ X! E! W# J6 a. p( s3 o1 Y gen ddy240=D1.dy240/D1.dx240
! E1 S o, s" B1 ?) ?! o 9 D" G, a3 q$ k& j" j
sum ddy240
, r: S9 g6 u) \: k3 a
* s u/ k0 A% j) P& z c gen ddy240max=r(max)
; w( b2 T" g' Q. P $ z" W- ~$ u/ O) U9 O" H" t, H5 N5 K$ ?
gen ddy240min=r(min): Z) ~9 r) e2 Z" L( s- \$ A
2 e! {$ T) x& s) c
gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)
' x8 x# A2 b! ~
]/ C+ {5 `9 ?5 z) w* o1 ~5 ^8 H sum ddy240g) q, f# f) \& N) x l- x
! [& |" S; m, |* ^2 s gen yxis3=r(min) in 10 J G7 o8 C; r2 t+ W A' I) u: Y+ X
: {. k% t/ C7 w8 Q gen yxis4=0 in 1, Q% F: n& O5 }8 [, [" D, g' |; w
$ w* B1 r* M @: k: ^7 V4 |% t( P+ ] *ddy240g
- n5 V' O# [2 I+ X+ _
/ m; P3 n& _7 B 0 h! r6 K% U, n0 H# ?4 Z
preserve
4 n3 X4 i1 T9 i1 @+ D3 M
9 H( ^* e7 _9 m0 k6 E% g% h sum v5 [aw =avol]
* ^1 f* F) N J& G" X
' A% W7 b, P0 I% L keep if dx240<r(mean)" \! s6 j* x8 ~* R* B
, W! r9 l+ w+ R9 U: U. ^
sum ddy240# ]6 q& ]( ]9 L7 S) O, V3 N ^
- h9 Z! S' v8 h" b$ h- q# D if r(min)<0 {) n% p8 M/ R, q! d: g! D! I
* O3 ]0 S- S# `/ f$ T
keep if ddy240<=0& E$ k$ o% J/ }$ f: i, ?! e! @
( f6 p& @: k- m+ k7 P6 y3 _7 T* J
count
6 l$ \* _5 A0 W h& j; Q $ \' t& o4 i5 D7 _% }7 G
if r(N)>2 {
) }7 `. s# p. T8 s
. l6 v6 h) _' ^1 R+ v0 w% P! E8 w' H pkexamine dx240 dy2402 k% b! q3 K7 ?& `1 f$ T2 a x
7 D' m8 D% R* r2 b6 _ local tempminp=r(tomc)1 C! o' ^3 D/ n1 \" O* l' `# n
restore
& j) g) E7 n# d6 E: t }% {7 r' {0 V; O1 L5 V6 L1 x; l
) ], k% o: t* M; d; n
else {8 _5 Z% `+ [/ ^" u
0 Y8 M; b7 ~6 |
di "cannot find minp": N2 [6 _; y! ]1 ^+ r
, H: ^+ p$ V3 F1 F7 r2 S
restore
" o# z, f5 {1 A* k& j) S8 m sum dx240
l2 b( w. R8 ?4 u3 w9 W) I1 q local tempminp=r(mean)
: w2 E4 C, C, t( H
4 `% T, u' {2 X6 ]2 m6 ^1 Q; j }
+ p% s9 {. |2 w1 A* g7 x- `1 { }
/ f( j+ g8 P4 `2 R- { else {9 U* n& `- q2 B
7 i* f5 p0 G3 y+ Y4 ^7 F keep if ddy240<=r(min)& s0 \1 }' H1 e: ^9 H W7 D
: m% I% x. E2 A
sum dx240
) [ A7 D( g* H. @ 6 ^. q& _7 w, W# _6 H: m) n
local tempminp=r(min)! |+ i6 O' l& Y3 E( }3 v
restore , u* H. H8 Q+ b2 A& r: B
}( n6 ]/ Q7 h8 o. C' _7 W! W5 P& ?
8 [8 R9 }# i+ d8 k; e# K
9 g8 Y" F+ r7 }, O* X4 J4 H6 k: Y, F% ^7 o; _; B+ v W
gen minp=`tempminp' in 1
! x& {! A# l; ~* z% n, d0 ^6 t *240 minp+ S2 a. B% ^# t, @
. A% Y: |8 q q
/ X4 M7 p8 ~" U: p3 ]& b
4 w2 f' m% q: c
preserve 4 H- a$ \: b ^- a4 W
, C% K7 l' E. d- Q9 k0 k/ b
sum v5 [aw =avol]' m% n, M: q) x; P2 _3 h
* R9 v4 |- r+ ^) C8 ]7 V# n
keep if dx240>r(mean)( G$ h! I3 Q7 t" W
( v% f: j7 c* T) W7 p) A
sum ddy240
1 t) v9 ]5 |/ _" ~
4 V. }' }5 I s$ O, x' K; v if r(max)>0 { ~) z% K" M, e
5 o* Z w% R D, I( h1 o; t keep if ddy240>=08 F" i, F4 Z! O- ?& O
+ |3 }1 J% K4 e5 h2 r
count
3 a. X( |6 x5 B$ H
2 F1 I2 p W# J5 V1 O2 j/ e if r(N)>2 {
+ t/ F* ]9 u6 y3 K4 Y 0 q' {( O" t4 d6 V ^
pkexamine dx240 dy240& s+ `' E; { N$ e
0 L1 {3 H0 l$ x5 h" O) |: r9 F local tempmaxp=r(tomc) " K1 o* J0 b8 M" n- R( g: _
restore
( z3 i3 }9 V9 z2 W' i2 M }2 E k: }5 b% T7 U, H9 A* ~
, u. M( u/ T- U! |2 r: L* i9 [
6 d% w# l& Y' J- V else {/ G# w3 j) p1 ~: k: }& b1 c7 \
restore 9 v" E' ?5 ^0 @" x7 o
di "cannot find maxp"- o' u9 g/ T/ a J, u
- ?: S6 ?6 m6 f+ K+ } + r5 p- T% Q+ g: m
sum dx240
9 M" z x, f+ a* ~) Q- Y local tempmaxp=r(mean)$ m D& a& }) Y* {4 ]
8 }% @4 B' g# [( X0 R4 U d5 Q& l; ^ }
- U3 M( [7 \0 M. A7 x ! B/ L% o9 f R0 D+ K5 p( {) L
}
# I% r C+ `: W8 T
; k9 q8 u n$ H else {
, s9 h! `1 u0 W: k/ f% N" b3 D + I% b$ j& v5 d3 W9 h/ `0 Q% [1 W
keep if ddy240>=r(max)5 _, e8 _, l0 M5 w
: a' _& V v% n- D. S; ^0 I8 m sum dx240
) s! f4 a8 Q- t p- Q ; C# o% l. g% r r8 ]% @- h* c
local tempmaxp=r(max)
& o0 V v' C3 c" v7 F7 \! G% U restore " B8 B( L- S- r4 F
}* [- B) \& D, u+ F% v
~) y& ]8 O+ g6 t$ X
" ^/ |9 K' D# { F7 s
7 ~3 Z! S) N I
$ c @6 T5 B) ^* w4 j! R* B t# q
gen maxp=`tempmaxp' in 1( K- U5 D, ~5 g7 J# T0 n
3 _( k2 y9 W6 F5 t0 @ *240maxp
. G0 N/ D6 l7 g& b
`6 S5 z* ?! e( {% G L
' @3 T' _, d" `* Z7 r6 o; N+ [- J *-------------ddy240pminp左侧高峰值-----
# X5 s/ w$ c: {( C1 b. w& {' n% k) I: c
2 r \. ~) H, W$ g E3 q preserve 9 b; j! C$ Z% L8 _ ? P
& ?! Z9 _ P% Y5 h
keep if dx240<`tempminp'
" F2 m R3 o2 {+ `( B5 ]; ?' C 8 ` T9 ~! z- |3 h7 j6 D/ l& O6 ?
keep if ddy240>06 u c# R) j8 _( V6 ~" y# l( P5 y) K
9 s2 d2 V4 O5 L5 S9 L3 p9 t% |
count
! i: K; t+ }# w* r6 A # h! F. Q' ?) @- _$ r( v# A
if r(N)>2 {
- o0 [* }, \# d : ]+ z2 E, |' m
pkexamine dx240 ddy240
" C @) n) l# J6 a0 y" }5 v2 J y 9 E8 z& ~6 U+ V
local tempminphddy240=r(tomc) , |# I) |- C1 v3 H" K* c
restore- C O* j& T1 ?) |0 M/ }- \/ l( C
}9 ?" y' y$ Z: J7 _8 |2 s, o/ e
8 q! |6 I8 L D9 t else {- N# w* H8 R- ^! F" {
restore
- x3 E u7 ~5 L& t$ h di "cannot find pminphddy240"8 R% j% g7 N& i, `3 a
8 r. p7 u) Z1 W0 {
0 ^+ J! I" L, |5 U4 \ sum dx240
) W: N- J, F3 Q local tempminphddy240=r(mean) 5 I: l v: | H1 w5 p" |$ K% {2 @2 G
/ c' { y; \4 S# I* `6 P
1 ~% z; y) t3 s6 ^ }4 q' w! J5 ?7 B. V* t, R# l4 @9 V
0 @, E o. q7 _ , j$ H! D% S `$ a2 m) A& W+ [& c# t
) o! B( S; x. M% @( Q$ ~
5 y M4 s a( |$ M, h: i/ z9 _ & D/ d4 Z. `1 N8 {- Q
$ p: u9 |; L) _( g% B5 [4 ~
gen pminphddy240=`tempminphddy240' in 1
( j* K& y! {! Y/ |6 k
# r# ?* q; o1 \ * Z7 e( b5 |% T. u& ^
*-------------ddy240pminp右侧低峰值 -----------------/ Y6 v$ f5 v0 q: G3 N
preserve
7 c+ n& \: o* l
* r) Q3 S) {- u8 M! \8 m2 ?* \ keep if dx240>`tempminp'
2 k+ ]' g* B* u4 R
7 Z+ I t/ Y, C) }, @ x keep if dx240<`tempmaxp'0 [" z5 j. O; o2 l4 ~( o7 @* J5 c
7 N) Z& Z+ Q% r; Y
keep if ddy240<0: ^9 h0 ^" N6 A. \/ p+ M- n* ]
7 M" S. v# l' e+ G gen temddy240=-ddy240) }2 p& j; ]) R, g
3 Q$ [9 J! }1 R/ V count
{6 t- @+ _5 T: q, X3 M ) m; K1 [: T) P, O
if r(N)>2 {4 h: r! B+ X2 k9 G
' m% B' h" Z- e* w8 J' S) [5 @
pkexamine dx240 temddy240
2 _# c/ O& b9 u+ ~
* |6 J, \- Z( [5 _# p+ |8 u. e& x local tempminplddy240=r(tomc): x0 [8 t! A* A8 r
restore
: H# D! m6 S7 ~. N% k3 A }
; d7 L5 C g$ {& { b
# |% D; Y# ]! i) ^( F% F else {
7 [5 ?- v8 ~$ D - B, a" B7 F9 \4 Z$ S2 Q3 {
di "cannot find pminplddy240"
: |* [% }, @5 B& g- o restore
9 k a! k1 j8 `4 t7 ~5 r+ K
$ }% F n# J# U |4 b8 O sum dx2405 {! A8 Q+ w5 B3 _
local tempminplddy240=r(mean)$ e! [ [$ c/ c0 X5 Y6 _3 ]
+ q; L7 d/ x) M. } * {1 g* `8 ~/ }/ u. [- s
} V& F3 p0 L2 s. @% K
+ V0 e# D7 }% w7 h% n! O1 y. _/ H
' V* y) \# L9 i( l7 g
" z, h7 {/ r& I# ?# } $ E6 ]' W: w" x f4 ]/ j- F: K
5 P3 J8 R w# k3 O! D, S& K$ _+ U
gen pminplddy240=`tempminplddy240' in 1
1 M& Q: F9 r" t* C( X8 O3 Q0 i
6 w7 F) }8 o, B2 o2 G* M *-------------ddy240pmaxp左侧高峰值 -------------------
& j; h3 _+ h& h5 }. N( ]
& t; _! _ _. O1 ] preserve
& ]* K* N% U3 m- Q$ w5 n% _, R0 h/ | ' ^ ?# y: f7 o6 B' ~7 h
keep if dx240>`tempminp'5 j d m) P* x/ K4 i0 U+ i; t
e r F1 M- h1 w# K keep if dx240<`tempmaxp'/ _' `) i( U. b- Q
) r2 p8 u9 \5 ^2 l# s9 t" W' o5 d
keep if ddy240>0
8 {8 {2 l4 X# E count9 w8 `/ C% O6 F7 V- K0 P" x
- I9 P$ g& [. m% C8 a if r(N)>2 {# J+ P% G6 j5 c4 J) z0 Q5 H% s
) |5 e6 V5 Z R; V9 U; ^
pkexamine dx240 ddy240
9 P8 Y; b9 }6 `# w7 S
, Z0 Z+ n: [* x; ^ local tempmaxphddy240=r(tomc) ! l; v% {# H9 O0 z+ r0 ]
7 t# ]- K8 E4 B4 ~- @ restore! A4 v; m3 j1 ]2 [$ K! |; T8 V9 @9 r
}
& u: e W3 p1 M: v
( n. L8 r* ?1 \ r else { k4 n+ i3 e; O9 E. Z0 @1 C
0 ^. n1 [( s: V- k7 } W
di "cannot find pmaxphddy240"0 p& j/ G8 A3 l: b! K/ p0 g
restore
8 J/ m6 E! Q- K$ c2 ]" s( x6 X5 N
8 L+ f) c6 d: K sum dx240
7 e5 U3 Q0 l" n3 o3 E local tempmaxphddy240=r(mean) & d' [8 C, k$ o# S6 N5 ]
& N% X$ I B4 q1 K' ]5 F1 E + S+ T4 R2 |, p: T, b
}
" a" O2 Q! K5 P2 P( ^, u! a; r / j# {. F8 H# f8 m# p
. t% x4 h! @) {# A5 ~
/ _7 {2 A$ K: ~" j1 L
+ k+ l4 F9 w! X: |
0 O6 J" @8 v8 M4 e9 T7 V # t3 @- Q" h/ o& F
gen pmaxphddy240=`tempmaxphddy240' in 13 J2 d+ b* e( ^/ Q& x
, T7 n# k7 i# E1 \( B ) F) J0 I4 E+ F" z- F/ Q
*-------------ddy240pmaxp右侧低峰值 -------------------5 l% L8 m3 V2 P3 j* l' H& F- ^
% _9 T( k. G: p# b5 ~' n$ Y3 T* @) `1 c preserve 9 q; v2 j% W" Z2 G' p
& X( z+ R, ]" d6 s. T4 t
keep if dx240>`tempmaxp'3 V/ H' d( u' R3 Q$ [
/ j+ o0 ]- t$ o5 _7 Y
gen temddy240=-ddy240' t. a6 X: s- i
" P! @. x1 p4 b; A8 i! p9 ]1 I
keep if temddy240>0
7 K k+ H9 T8 m, w8 x
, R5 B+ x# a* `* z$ @ count
1 s" J! i6 |# g& Q# |
$ `1 ?5 Y8 r" p- `# g/ ?( W if r(N)>2 {
1 r$ _& Y/ Q( G( E0 K 6 R: T7 L( S$ s! {5 l
pkexamine dx240 temddy240( t1 ^& j0 k# B" H' g
( }4 B' x0 L/ D" T8 ]9 S$ Y
local tempmaxplddy240=r(tomc)
3 h. ~! q$ ]" \+ s. H( l( h- P restore, |7 R! J: j& c3 T$ X
}7 ^& U& m1 a! ?3 u+ `0 I
5 E& S8 I1 \) q; \- t' D: ?4 k else {
9 }: [& ?/ w1 t3 l; K4 \ restore1 J. m* x9 u3 d! I j0 ~
di "cannot find pmaxlhddy240"
) k0 p; t6 J$ P" K% `2 R
/ p/ q* v2 X$ {7 Z/ I : }* K4 @& N1 f {/ ?. i/ V0 d
sum dx2406 S5 m( G7 H" l5 M
local tempmaxplddy240=r(mean) in 1
) k& E5 w( s* T7 V+ `
. z$ \( p. Z( A/ _
& J: a4 ^; ?# t, i6 g9 O }9 b: }0 d2 V9 J
; k1 k; t/ S1 @ 7 L/ a+ j8 A. K
+ z7 A5 t8 D. J, }( i; m ; k/ r% F2 i1 K) N
; O& Q/ H2 L; W2 l2 s" Q2 Q1 ]# ^
7 u6 {* X3 H% B3 ]: N2 @: l gen pmaxplddy240=`tempmaxphddy240' in 1# M$ B: }- L. O$ \. W0 o
d0 w9 X2 l4 Z *-------------------------------------, d6 K& {+ [; w, U- g* }7 R+ b
. C8 V2 E: C$ Z/ ?, n gen price5d=v5 in 1/20; u8 o3 b8 Z$ L
% K4 S# {# {! Y- n" f3 R
gen price5yy=_n in 1/20
, M( D; t; K) t! R. ~ Y3 C! M6 G
8 _+ \* a$ v5 b+ u7 ?* Y P- r gen price5y=price5yy*(dy240max-dy240min)/20$ t- e& Y6 G/ Q7 ^/ n
$ k1 @# t5 `3 ]$ O, @
*price5y &price5d
# p3 M" m/ K/ s6 w; |
f( W+ W6 p4 p8 p2 Z3 c; b gen priceny=price5y in 1
! `, V% U% H* q% w; X: W8 G $ V3 `' X+ ^9 ]% d8 \
gen pricen=v5 in 1, w% D. w( N5 _2 ]9 a; F3 l
: B1 l0 K5 N. ?
1 ?, Q" ]* q4 t2 d6 ~" R3 `
*priceny &pricen
- m m" X2 Q {. U) t# z7 y, [ 7 |/ ~$ j P, a% a
8 o- T$ Y* A9 O! Q *-------------------------graph------------------
6 d6 [8 B: i( Z/ I . ^6 @$ r: U$ w7 g$ J
tw(line dy240 ddy240g dx240)(spike yxis amean,lc(blue))(spike yxis mean240, lc(red))(spike yxis maxp, lp(-) lc(black))(spike yxis minp, lc(black))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean)) (scatter yxis2 mean240,lc(red) msymbol(+) mlabel(mean240) lc(red))(scatter yxis maxp,msymbol(+) mlabel(maxp) lc(black))(scatter yxis minp, msymbol(+) mlabel(minp) lc(black))(scatter yxis4 pminphddy240, msymbol(O) c(l[-]) mlabel(pminphddy240))(scatter yxis3 pminplddy240, msymbol(O) c(l[-]) mlabel(pminplddy240))(scatter yxis4 pmaxphddy240, msymbol(O) c(l[-]) mlabel(pmaxphddy240))(scatter yxis3 pmaxplddy240, msymbol(O) c(l[-]) mlabel(pmaxplddy240))(scatter price5y price5d, msymbol(O) mfc(black) mlc(black) c(l[-])) (scatter priceny pricen, msymbol(O) mfc(red) mlc(red)), title("`f'") xtitle("`1'") ytitle("density") legend(off)
1 N* n+ v; M( K
! A8 S# r8 F0 m( d1 j* ---------可选项目----------------------" m2 O2 w" _9 V p
2 Z8 B) r0 P+ ~ X' g4 ?
}
' y% J- ]) f% X b0 Mend8 E6 v Y0 S* J( h) _) o1 c; _
|
|