|
|
改了一下,这次运算应该没啥问题了4 Q" B% w% L6 I0 `6 M: d
4 }3 F. \& Y" G. [9 @9 [! W, i7 m# n( v
capture program drop hello& h! g8 ?) Z, i% C+ q4 Z
5 [( Q, l* s A6 u c U+ d7 Cprogram hello
. W6 r7 [+ f- O. G, e9 V% H! E! u4 K% ^) e9 ?; I1 o! s
quietly {4 c/ r7 J6 s! G* z# ]4 a
6 W! l6 B4 X2 O( Vclear
: |8 S4 T( J" D9 o& c5 S. C
" B& t7 u `9 r8 y; C, f, O6 mcd e:\finance\stock\20110101\source
' F, M+ N, S/ X4 i, J1 [! w" o
- d; l. Y1 z2 |$ B7 X* ?insheet using `1'.txt. x( H ?' k% J
& G5 B. Q- n; h
keep if v5>0
& [% |. T+ ^' Q3 m% c$ \' D) F
" J P8 P* K7 u( k" Z. I gen vt=_n
! M: ~9 W0 T- D* A1 E) y; t0 _4 E# c
' X* ?) |0 Y' D ~6 v) y8 F1 \9 [ tsset vt
0 n& a4 M) F1 t7 T. T4 i2 ?) q; g2 s+ R& j6 a0 d/ Q0 X7 s
gen zf=D1.v5
& @9 L, W+ V9 D# s8 E% `( g
% d) `+ [2 ^& O+ p gsort -v1
$ a2 Y& Q. G( G; c! P3 `$ W* l9 o E
2 S9 m# X8 S9 k V# G gen avol=v7/v5: J _3 I' i& S, C, e
; K: N. {/ ~' z# y" A* i
keep if avol>01 K& q) U2 m+ x
7 m! E& B" r5 i& P drop vt
5 z5 w- F& f8 {! H0 a1 v! I: o" M& r: X ' s) t5 F7 b3 F. @& J6 O' G
gen vt=_n
, @/ K7 Y$ x' E+ j8 C
4 m. L6 T, A; Y) B' v1 V9 o tsset vt7 Z% ^% i$ m- O s5 n2 U1 x9 @1 j
) Z; p1 v. A" c& _: J sum v5 [aw =avol]% y' t" G/ w$ y; g; g6 d
% z' X1 p$ R1 _& m+ |. V
gen amean=r(mean) in 1- J: [3 ^0 e# F% n( s
' A1 ]3 T* G1 Q$ d9 E- U: x/ k * 总加权平均值 amean
; W1 }" F; V: V# k! q' ]
s" |2 C, |& _6 a6 `# F0 O1 ? e8 e
# Q0 Z' p- U5 B! ?0 k. D0 v; h keep in 1/240$ C6 ]; s( O3 f' b5 l
: \$ |. l: J/ p6 C9 L" C% } sum v5 [aw =avol]
- Y2 w' \, l( L9 `6 Y; M x; a
& D( I% J! y5 \2 ?; l gen mean240=r(mean) in 1
( J% K- O h! X& u, G% ^+ h
! c! d9 T1 l5 q! F *240加权平均值 mean2401 @9 e5 n4 B& b! P9 q2 K1 `
1 t9 c2 A+ I; v7 v set obs 500 ' G. |& r5 `/ ?4 m6 o3 y
9 x8 i! d6 ~2 X6 m! _3 K& N
kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph
& s# k2 _* I) o; a! U
! X; _- O6 r! p% |7 c4 T3 s! k& F *240 kdensity(dx240 dy240)/ B u9 M! \) e4 ^
; N( Q6 C' \" Y/ T. O4 X; Y sum dy2401 j7 l, f( P4 ?/ w; d
4 W$ q3 u; d, M$ N7 p gen yxis=r(max) in 1
6 E: A6 u; T8 t" R4 f7 ^) V
$ g6 {" M: j0 z. @+ Z gen yxis2=yxis/2
0 |0 J+ M; Q' C) U* u
" M; E6 s' a; v. j; D5 N *yxis
$ @9 ~( o! L; h, s
- e) G+ f& g# h0 v. ]# P% u: s gen dy240max=r(max)- z" \1 @ x8 f( m& h p( W% O
+ ]3 |9 x9 {4 D
gen dy240minp=r(min)
- H! q. K ]( @% c5 S7 P+ M
+ ?" t+ l5 n0 G$ ?, K4 m& a gen vtt=_n
6 S# J% F/ Y7 Q
3 n% \* N; G; L% t. p, | tsset vtt
( E2 c% ? W$ k$ t
. ~% S, e( G& f3 Y3 e1 ^2 T gen ddy240=D1.dy240/D1.dx240
1 f: U7 W( p2 K' J6 m, _) O6 \. L4 h " b0 Y1 g2 {' X; ?' S
sum ddy240! {5 L# ~$ k2 T/ q, _
3 U; R7 Q3 L# G7 h* Y: `9 r
gen ddy240max=r(max)$ F, K+ ? z# g6 } c; K
' \0 }' a# z2 Y
gen ddy240min=r(min)
% |. s+ ]1 c c8 a( Y; D! _* F8 o
! [6 ?2 T$ U0 Z: M, c gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)
8 ]) W& i+ R& I) \1 \
* ?* _, n- y- \' T sum ddy240g0 X5 `4 ]" F G0 t3 i" u
O! T( r9 @: q* ` u gen yxis3=r(min) in 1
; K5 w! f- c7 e5 q# v5 T- J : S" E/ A" r8 Z/ }7 b
gen yxis4=0 in 1( t! ?& m# S9 L( i$ F+ e: l9 t
& }! w2 B8 m1 l6 _ M$ V7 W9 b- R
*ddy240g
/ G, c0 o* H |% K 5 j2 ^3 E* t, ~' V d! ^
. N7 u' [$ h' x) ~3 k9 J preserve + H- s8 R1 T0 D l" d& _
; f7 `8 H2 |0 L sum v5 [aw =avol]. S; `- C( Q: s. P% }
; L# J" {) N* B! f8 m! R7 k keep if dx240<r(mean)
6 Y) _' O$ h/ J& [. |) { & a+ b& h* M9 I& l
sum ddy240- H# S# k9 D k2 K
2 a+ G8 I; B- S9 [
if r(min)<0 {( C0 k H" B- \: I' k! J8 i
7 x# R {& r- x; ~+ y' B8 k
keep if ddy240<=0
! V5 r1 f% @) j' |
f3 z1 ?- }. v h' m count1 r# g3 T: Z( }. j* H9 `4 I
+ l/ n& q, n! {+ N# ? if r(N)>2 {
6 m& E, V% {+ ^
. X4 [0 ?6 s1 h6 R1 H6 v- r% W pkexamine dx240 dy240
, I! }* M9 P. c
! M0 ^0 x+ f& A* U4 a& w local tempminp=r(tomc)
/ w* y; ^# _+ x, p; v+ x4 L) u3 q1 D restore
R$ f8 M b2 I$ k0 M5 Y0 S: { }- H, |. g7 J& D( b
7 Z6 @2 U0 P- N2 \% [' V; s" K% q
else {) |1 Z- B1 @2 K9 ~
+ E; M( f( T g di "cannot find minp"3 [ l; }. n) L. M- e0 f
' m" H# O6 q; G4 I: @ restore
) D, ~; a- o2 W9 c8 U3 e1 k( o sum dx240
; J, @% M1 c! n$ a4 r, f: } local tempminp=r(mean)! I% y1 R; b" V$ t; f! n
7 @; j# Q* O5 x: V) M4 ?2 z }* k% Q# {# P+ v3 H* v b& g, T4 J
}
7 V. A( q" }( n+ v3 c else {( }; y0 z* O! b0 {9 {
1 u. p- v6 v, g0 A8 p& M/ n( f3 |+ _
keep if ddy240<=r(min)
- H: @# y4 H! u9 p( `( q7 E" E
( n8 {3 K/ u. w4 s9 ]" t4 x; S8 O, C sum dx240
7 F( L- b6 j! ?
6 m, R% j2 U3 H0 ]% l local tempminp=r(min)
9 f( I6 p( S. i4 [ restore
* L! g/ o3 h* F5 i( B0 `/ T }! Z) o/ U' ^4 W x9 @% ?/ S
" T u! A. ~$ E2 W$ P' c
# z) u/ D" D; ~2 F2 i$ c( v5 ?
8 D6 U% ^7 X4 y+ g/ s) w0 [ gen minp=`tempminp' in 1+ t: P+ f+ _8 G! u' H. h3 V
*240 minp
, y3 w7 j* F" f k
/ `% h+ s3 r) P( D( y. I( I6 Z. k8 `" M
1 d& X* J6 [% r! b, H8 M' Z" M# i
preserve
3 G# v% ` B4 Q: ]/ H4 _ 8 g: g9 B% U. ~
sum v5 [aw =avol]3 n6 ~2 M F+ p5 a- g g) {
4 e D+ H% f* S/ o; z* l4 h& U keep if dx240>r(mean)6 a Y p [2 ?6 U2 b- ^
* T9 x- k+ m1 l/ H% p
sum ddy240! I# f# b8 i* c4 O( Q
& x0 m9 B( O. p# s$ u
if r(max)>0 {- I: F" L2 S( i4 K
! ~ C8 Q; F$ n$ k5 L) L8 W
keep if ddy240>=0& ^4 D" ^7 Y9 {) F, H
6 w8 G; N. K! \% i/ ~( o2 M) [8 B count4 @; i2 p ?) h) R0 E, R
- k4 ^) J W; t: f2 M if r(N)>2 {$ A9 J6 Q0 u8 N( b; s! y. c( G
8 |8 e1 w# ~/ H) e pkexamine dx240 dy240* T' _1 I. G9 @3 J" W# ]
( h* p4 Z& j# w9 l+ ^& i local tempmaxp=r(tomc) 5 J( U# r1 _( M' M1 I0 \* k# o
restore
/ R8 B' a, M6 y L# f8 U. Z }
4 F3 m2 n# ? L6 S/ X
/ S _" G+ X* a" n6 I2 s) j
1 _* _& b3 m# N( N8 Z else {1 @5 T' r; Y$ [+ l. t
restore
' c. r' H. J- b6 f di "cannot find maxp"
L6 B3 a4 z# L; u7 h$ q ; A! q/ }2 v0 y4 N7 A/ w' `
9 A/ L* Z3 i" M9 y6 w. ^4 P2 ~ sum dx2400 F5 s$ }. |# q- j. F
local tempmaxp=r(mean)
8 @$ R0 m: {5 [/ y/ _/ I
0 F, n# U+ I6 M9 V9 x }
: U' w9 d& d5 }% O7 { m* W& T
0 R- ~# r; w8 U6 i* m) D5 X; ~ }7 U2 _( M; Q1 m! l
" v. H- y, N6 t2 E else {( P/ L0 E' y* }; c# B4 n8 C3 V1 g; G; V
# V5 P- Y5 k o/ V
keep if ddy240>=r(max)/ [% N+ w8 h& d* |7 y
7 N$ E* \$ T" S/ ?" E6 K sum dx240
7 P/ c8 S, _# A& r. ~
7 \' \& |7 r: Z. L: } local tempmaxp=r(max)
! D2 R' ]6 M+ A- M* ` restore
; s O! m/ |2 L( _3 ^9 Y7 ^( ~ }. u, A0 B8 m0 Z U1 T2 q
4 g6 f3 `+ U: |; @* d; q
7 Q M9 K4 s3 r# V
, k9 P0 O2 f4 F5 e R7 J; t* i& l0 ?. B
% J2 {" z5 d# X6 Q; i' Q gen maxp=`tempmaxp' in 1
" J' O3 d2 M8 n
5 |. h+ Y* d9 E Y$ M4 W! N *240maxp. h" Q* ]4 }# Q
' n- K( q5 L) r3 k) q5 O/ l
9 a2 D2 C w7 h$ ] *-------------ddy240pminp左侧高峰值-----
7 W- d$ _6 ~; S# J 7 d! L( l% b+ l l
preserve . U# _' ~2 K- r
% @. c+ M- l/ ^0 z4 r" ? R$ |' Q
keep if dx240<`tempminp'
t' G8 h% b# Q& w ) m" u: z) R. c1 ?6 ?
keep if ddy240>0
# D( Y* c/ B t/ Z
& u3 ?/ j& x V count
7 n- ~+ Q) n5 Q: W0 E& m
, Y; E# ]% g4 N if r(N)>2 {
2 K3 F3 L. k+ ^* P& @2 D7 Z2 x
$ v/ X/ s0 y- a G pkexamine dx240 ddy240* \& H4 M% n3 A, R1 _3 X
7 R5 B# s, |: ]! _- l; b6 K: i2 t local tempminphddy240=r(tomc)
; H, E4 S+ a+ a0 z9 Y5 N+ a restore2 t/ c0 y. |% n- U& }( u" p
}6 Z; s+ S) {$ y
& `) p: m" ~ E$ S else {" p( k8 N* v, O p. m& g
restore
4 e. j( ^9 q3 x di "cannot find pminphddy240"8 d5 `9 c/ M9 L3 s$ Q
1 s, f9 I9 i( L: x0 B
' r0 t% S+ ]9 p5 A0 m) w2 A sum dx240
) O0 X& r5 r1 r! B8 w7 @2 O+ I local tempminphddy240=r(mean) 9 W* z; b' y; ]# }, d) m" l
6 \' H7 G7 J" ]3 @ D4 O; @
' ]" n! g3 _$ Y3 F }
1 M* B8 G5 b% K' C: b8 G: }$ u # D/ n* K6 `) D6 B9 C; j
3 ~( `/ ?. U$ `- i
1 D1 R8 F' T' d
7 U2 e$ e: Z* m$ E4 z2 t6 v ) z/ ?3 F( {; j I/ e! [1 a7 q; }
8 m/ U+ l& [8 ^4 g: E5 W, ~: z/ m0 e; s gen pminphddy240=`tempminphddy240' in 1
: H$ X! T. ~$ ]! U' l2 g ]3 J 0 U0 t4 K+ c. }" |" V
* m1 M6 O; Y$ ~5 M! H6 V
*-------------ddy240pminp右侧低峰值 -----------------
% U+ ^1 C |% H2 O preserve
0 Z5 D6 \7 B9 f9 n7 v
4 B0 ^! ~, ?5 T. e @& A keep if dx240>`tempminp'8 Y U5 e0 A2 y* d
$ c5 g' Q& N5 Q J! R keep if dx240<`tempmaxp'
) n# }7 `1 _" a5 y b 2 _5 h" |, V- q# ^: K5 U
keep if ddy240<0
, y& a, C# W) V+ C) a& E q# r, {+ `5 l1 q7 z. n
gen temddy240=-ddy240" ^5 I- R: M. K* x
' g( V3 c8 u' P' E5 e2 U3 G
count- g* K" ^3 s6 U: ]. L# E8 ^
/ i6 o1 T v4 E, K1 k! x if r(N)>2 {7 k1 i( G' D- N% j- l
' y% Y' Q; G7 V2 o- {! b! p
pkexamine dx240 temddy240
4 F1 o3 {) k8 m
S% P) q, e3 L7 l1 y3 J) x0 z5 C local tempminplddy240=r(tomc)1 y% q6 m: Q: Q2 B" R) c2 r0 g
restore9 u5 M' ?! }5 G
}
5 f9 e6 _, @! O' l 1 I! E' X) F C, {: p4 V
else {' H* {0 l1 o$ x! q& X
2 b5 \0 Q9 z( H5 e" L" i/ j9 c
di "cannot find pminplddy240"9 k2 w4 x# A5 z& @& p: D; E% c7 W
restore
2 w5 K" o7 J6 x, c
. W9 q$ w( U- t5 H3 t$ [% \ sum dx240
2 F8 J) j. x, K local tempminplddy240=r(mean)
& i! B. D/ s3 q) L ( Z1 A( x5 e J" h' e/ A
9 Y3 B. e# t& M
}
( R1 F( ?9 N% E8 X0 E4 D
8 x. ]$ e9 u; U , ?& j, r4 Y+ z7 `* R( K2 k
- s2 z x A# y0 l
! z+ }1 b" j# a3 d( k) ^# l
- @/ b+ t% Q$ M; m9 U J( [6 N/ H: J
gen pminplddy240=`tempminplddy240' in 1
% i9 s1 K( t% `0 g1 V8 W+ t
5 ~4 m) ?. y: a" j& k9 C' s *-------------ddy240pmaxp左侧高峰值 -------------------! d y! O7 @1 y& k
0 h( N3 B2 v7 D5 T
preserve - m( i( h. D0 }! g2 i. i0 u% b
; g( e$ e& c- X2 I5 i
keep if dx240>`tempminp'% ]- G, E L+ p
* N: {; S( y' o keep if dx240<`tempmaxp'; C- R" z- R- v3 E0 l) H( J
5 g0 e3 H. k& P V% v
keep if ddy240>0
! a g$ H. m0 P P( {( d2 W' [ count8 L1 l+ \) g- U. P. M Z1 O
9 u* D! a9 v( J& A) e" v/ T
if r(N)>2 {) ?% @* S3 C& C# \; a
, s2 w' g8 F( Z( J* a; g V' z* y
pkexamine dx240 ddy240
# c; X7 l/ k- z. M) K S$ X 9 U/ X# X7 l. m, ]* E" y' q
local tempmaxphddy240=r(tomc) 4 w/ N) \: W3 ^/ i
" C. Y% b6 h" b6 h2 d( {" V! \8 V
restore
9 h4 D4 f* @+ p5 m$ k }' e4 w; _1 L, o Y) [0 P
7 F: F( O, \9 ?! K" q) R5 } else {
, i/ v8 \" K2 s5 @5 w, F
) ~1 A3 I* m( }) j9 p di "cannot find pmaxphddy240"
' J9 l2 n. |: H3 \& k restore
. K8 m4 n( e4 O& V% g; v1 R ! }8 N* Q# m, k ~% n/ z% O
sum dx240* M5 ~, f5 E( j% r+ ~+ l
local tempmaxphddy240=r(mean) 4 y U3 {& |( a. B
) z# _3 e$ l+ w
; R: l7 m# J' R- z& _+ A }+ y5 ~5 Y" C/ e
) g" J0 ^" Z- Y, s* f
; i( t: X5 V. |; H# x: F( l1 c5 e ' `; u' b+ r0 r, d
! v1 ?; U( p, \4 s* O1 s1 _ 7 Q# w# i' ], L' [6 q" \( x
/ D3 H( L8 t# D% o; O/ W2 s* v
gen pmaxphddy240=`tempmaxphddy240' in 1
: q' E/ f3 L4 O! X; v) x4 Y 3 H, u* u% H. z8 W8 Z5 N" N
( J/ ?0 A! Z0 j *-------------ddy240pmaxp右侧低峰值 -------------------# G' l) \5 @' P. S- l9 D
& r1 [6 A) b Z" |# Q, X) J4 T1 Y
preserve
8 P5 E, c9 T8 l+ r# w
2 [: Z8 w' \; ^! r+ M3 e' u keep if dx240>`tempmaxp'* n/ \$ t6 q* G+ z3 g. X
9 n! Z, r6 U$ Y4 D7 Z! W: [
gen temddy240=-ddy240
1 O$ j0 ], v8 J( Q$ s6 `. u/ ?6 X
$ M& ~+ T; b9 U4 |- G8 C keep if temddy240>0
. V) a. ~6 o3 b% `. h7 T. [
" l7 q6 K4 ]6 g count$ T& G" S' ] X% C7 q1 n. D# X
5 y- ]& M% p* L) }( y- Y if r(N)>2 {$ o. O1 Z# ~( B0 O
+ N) {# A" O5 q pkexamine dx240 temddy2400 e6 v w6 @" s! y3 H* M
6 D2 ?) i" r) [1 { local tempmaxplddy240=r(tomc) . K3 j: _ P( q
restore
, J$ \8 b, \: G O- n }' l1 g) S( H3 Q/ Q, s6 k
7 W2 ~" k; @3 K$ Y2 D7 E8 O( X! X else {
7 i( b9 ^/ Z1 f) f, K restore
6 s# `) T! W( G: q$ q" e di "cannot find pmaxlhddy240"4 e( Q5 ^0 [- @% v9 s
9 e5 y$ W% J. X% ]! N
E" Y6 z6 T ^! g" V k' y sum dx240
; j9 B) [+ K8 W9 Y/ l# I$ _ local tempmaxplddy240=r(mean) in 1
7 @9 c5 Y1 j2 V3 c7 {+ v 2 p v- A4 R: i# ^4 v" F
; Z0 G' \9 B& l
}
! Y* L/ j' [! M+ W: P/ m
9 g% {0 |4 u, x / @1 y9 A) g) R
5 Q" \7 q- i1 n T' o- _7 R $ _; c# {* J, R( G
. q) {" X: b; g- ~
0 Z& I1 w. [9 b7 r" q& H gen pmaxplddy240=`tempmaxphddy240' in 1
* l$ d+ E( e9 B2 o) e6 k : t L3 l. c" @) G Y
*-------------------------------------. e3 Q+ v5 P8 X- |/ f8 L P' v
+ l+ l0 O, v/ b. C2 A. q4 l7 q gen price5d=v5 in 1/20
! p& | {# Z5 s; Y- S! f Q & ~/ A+ c. N& L4 N
gen price5yy=_n in 1/20
( U+ L+ w7 c( A3 k $ {8 \* b. r) [9 v
gen price5y=price5yy*(dy240max-dy240min)/20: S' Q/ n; t# {& Z' n5 N
4 r, B4 D0 D9 W: ?0 _; `9 E
*price5y &price5d
( U; w2 @5 g* E$ ] 0 D. G) V" m; d/ a
gen priceny=price5y in 14 j! L- V# W2 u1 f& K3 G0 W
C9 c$ n7 Q$ w+ |3 x$ B2 {
gen pricen=v5 in 13 {. b9 S* z9 k& J# m
# N# L' w9 S! m6 ?8 C
# d0 J; O8 `0 P! [, S0 m *priceny &pricen
$ h- A1 q+ z% o( ~" B3 A5 K
: n6 y0 h2 q0 F+ c Y& j. h; h% Y) I
*-------------------------graph------------------
* B' ]. _1 m* C: U : A' b: Y' ?0 n. f7 B
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), X% [- U2 }* x# U
2 o/ p+ H2 S1 H* @( |* ---------可选项目----------------------2 |( Q5 y% Z9 q
: l8 O7 m" K8 l3 [; \3 O% z5 `& z% l% n
}2 N# d* }/ G) G. a
end6 F/ o& D- e& `( C4 Q7 k# \( y g
|
|