|
|
改了一下,这次运算应该没啥问题了/ A5 m) s0 F# N5 M9 }$ A
- m6 O% D1 Y) i( {2 ]6 l$ A
9 Z6 q) e4 G R0 S! X
capture program drop hello4 u% }& O# Z3 V5 \6 p0 _
$ n8 N4 @) @* m) bprogram hello( {5 t7 r$ S' w4 D
% W: Q% }: ^: t0 Q8 Y7 |* i5 S
quietly {
! }2 P3 Z; U" p# A; u- H0 U$ g- R6 F% t9 [. s J, q" m8 C
clear' o6 f- Q% B" a) K) Z
6 @' H" ^5 k1 t& z7 ?, Mcd e:\finance\stock\20110101\source
3 G! I* I, y2 S0 w
. f$ D8 a( [# W% H* c+ E5 T0 oinsheet using `1'.txt
" I5 `7 u$ p" N/ X/ k9 G: B0 `3 r
keep if v5>0
( T$ V( n8 A1 W* O- O1 h" c
' E) U5 W- S+ P9 s gen vt=_n
* d5 B* V6 F# J2 O" y4 g b
3 C8 o* c% ?7 }+ g/ |( k2 u) } tsset vt$ K2 A( D/ C4 y3 j. B
6 D9 ?; S P |! [
gen zf=D1.v5
: A* Q4 D, k* \: T# f5 w: e, n6 r; z+ h9 D1 d% o: x. d
gsort -v1% N: c4 ^1 z9 X0 [' B3 o+ z) {. S, J
; j. M$ F/ z3 _- b7 C4 m- T- p gen avol=v7/v5
' {3 X# {8 W0 x7 f1 H' {& l2 P
* h, P8 [- G2 { keep if avol>0
. [8 W, I* d9 s" c) |
% M# Y) w8 b! U9 @) K% r9 L drop vt4 E9 c# g: A5 c7 Z4 p2 g9 c3 d
+ r2 @" P6 g( z6 y: {
gen vt=_n% }/ r( f# n' Y5 p- `9 I) j, C
2 e' F6 G3 |& I9 o- U4 g
tsset vt
|( z3 h3 w9 v! M + }6 R& u$ H( M0 Y- Z
sum v5 [aw =avol]
8 D2 E8 r9 ~8 O. }& |( n/ \: P" i0 o& e0 {- a4 c0 h
gen amean=r(mean) in 1
( u) `* p3 S) }2 O, F/ J# m+ h! [4 ] 9 I( D# }( C: v4 i0 W, |* `
* 总加权平均值 amean
8 k% _2 `" p6 B; x! A 0 `& |# f, L! }0 s4 W: c
: R/ R; U" r6 B0 k4 N& N1 x
keep in 1/240$ s4 _! N( q m9 @8 {! n) l
* ~- j/ p# {1 O4 G6 c
sum v5 [aw =avol]7 @7 i% r- M# w l0 w9 W0 e4 q
0 p B% X7 `; ?# O
gen mean240=r(mean) in 1
* {7 K) r7 ~8 X0 A- P# | 8 b' Z* T4 W! Y( b& w; I* {( b' C
*240加权平均值 mean240& T; P* p- S# M3 k! q& Q0 H
9 N' z, b V: I- |8 } set obs 500 + X- ^3 \! x; N l! [: @
' n+ {& N% E( ?! | kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph" J {& z" e" }
* M( r! y% S% s% G
*240 kdensity(dx240 dy240)
& V* G0 P. M+ D& e/ _! U
2 H) Q9 h3 q4 C! \' X$ o l# X sum dy2400 P( m# \* j- C+ J9 U9 V
; w) a( `! P# o+ @% u) e7 ` ?* j9 g
gen yxis=r(max) in 16 Z R; y- s: P
7 C! y$ @' } a- f0 h' N
gen yxis2=yxis/25 i& w; n* M5 |" f! Q" C' w
0 y$ f. W9 o( Y' g- ?& u5 r$ }4 S *yxis
. @) o5 w& V& m# f
3 h' Q' n3 f$ f gen dy240max=r(max)! [6 ?; l2 R h/ G9 u# ?
( J8 x1 [: g r gen dy240minp=r(min)/ b4 }) H/ I9 y0 X% X4 f8 F' C
) a* e: \9 [$ C: g& k
gen vtt=_n" x( K7 }9 H. T4 n* P8 q: T
6 `4 ?/ B- `. X. Q: ]; { tsset vtt' l& X/ y Q+ d9 _7 V
5 N- ?; f J/ O; s
gen ddy240=D1.dy240/D1.dx2409 S1 G/ W! R, U
8 x9 G. m/ x' O" i6 q7 `
sum ddy240+ M8 y1 z& x/ V- I( i9 J+ _
7 K) e: A) k" S& _1 a) ^ gen ddy240max=r(max): y1 Z, |, N9 w0 v- e
9 X" v" R# s' |
gen ddy240min=r(min). S4 n" n3 ]6 u% b3 [ L
2 E- y& j- z3 J# W! R gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)
0 X K9 V l* z' Y/ U, e
' Z9 }, M/ w/ Y" c* N sum ddy240g% F# Z8 v% `9 R5 F1 \# H/ v
7 d3 E6 V* s! Y# Q7 j
gen yxis3=r(min) in 1
* c2 X# ?. ?2 S9 [- }& c2 [) ~ 7 m% C4 d! p7 z
gen yxis4=0 in 1
+ n6 L3 U c+ V) n1 W 2 e+ C3 D& x( e& q
*ddy240g
7 g v0 d2 [; h( W$ j- j6 E/ s+ s6 n
$ r7 q) l7 o& f( M% Y: M- ]5 l4 S# b
3 C! g2 F& X8 H1 B" K/ R: z- @+ d preserve
4 K4 f9 R+ K# q# \4 ?
/ M4 i$ t7 g% H3 a ] n sum v5 [aw =avol]7 w6 N1 H! N$ r, n
/ s/ g. c; k) K; R0 m
keep if dx240<r(mean)
. w0 A. i: r9 x8 o5 [) B% B/ t' ?2 r
6 q; S% M0 z! G: m9 z' t! Y6 i J4 Z sum ddy240! c* v& U8 W; O; G) n
" {7 u" D4 d# y4 v
if r(min)<0 {
; Q. U- J* u3 Q& i6 G D- W& a; D 2 G% b5 a. H# P
keep if ddy240<=0" W, E& f1 Q9 S% t, |6 y
0 V2 j8 w7 O! ` count, S7 i4 I0 h3 w. P7 l
1 I) K/ V7 a5 M1 }/ W
if r(N)>2 {2 f$ f* {# p2 e* ~
. }- q7 l0 @6 m% A& G% Z
pkexamine dx240 dy240
1 q8 q3 x. W- ^ 1 R9 r& Q0 I$ Y
local tempminp=r(tomc)
( |, p: ~7 H5 ~( ?8 ?1 N restore
4 P/ V! t6 T3 u2 t6 } }
) e2 F( S2 Y" p& {4 u
$ m% ^# w* m- I4 B else {( K/ e5 O# [1 e5 v
; }: a, m. A: A& B6 @
di "cannot find minp"8 U, C+ r- X7 {! D9 a6 U
% l, z9 G0 i1 q* S3 E restore ) E) |; z5 {. D6 l: {5 ~
sum dx240
$ e3 w8 e% ?" x" l local tempminp=r(mean); N2 A. I( B6 G+ E
( c. ]% [! Y- r6 j% K6 G7 W
}
8 i+ f7 t) z: E% R$ ~2 P6 _ }
* D9 B% e8 K" g" K else {; J2 n$ [7 h8 _# g0 h( N
$ M' Q- _- F% ^9 {5 k5 C keep if ddy240<=r(min)
/ n& R6 q2 P8 Q9 l# @5 ?
$ G r# l! E: D2 N0 o7 e sum dx240$ }4 A/ Z8 a3 I" y+ c
$ c) S) d$ B7 o z. q1 o% z local tempminp=r(min)7 B, ?" ~9 z/ [
restore 5 G8 o& {8 N+ ?9 v# h2 r
}5 t5 h ~" ]( I' p4 h
3 O; J: v3 d, h8 N9 G
* n/ i; H/ `) Z1 ~ r& P' @* e
: B! ~" q$ S0 s3 B5 W gen minp=`tempminp' in 18 ~3 I% ~& J+ u2 b- M
*240 minp
z5 ~: V' i4 Y" k5 O c& F( T# d0 s* t1 H
- o ^/ Y* z/ k( b0 Q( C: o
% n! P' Z9 G: j, L& g. F) F4 v preserve x$ s O. B& V' a* k% ^
2 o& M) N" _' d" q sum v5 [aw =avol]
) _: a* v- X F" F$ `* P' ?. { ' Q Z" `6 U1 d3 e$ d2 P
keep if dx240>r(mean): v( R) s6 l6 w! Y5 r
0 ~& ]; a) M4 [8 ~+ G
sum ddy240
4 G$ }: m4 b" H' c/ x: M" S
9 c. s, P/ T5 a, g w$ J if r(max)>0 {
( G& A5 j! r J5 v& t+ t# O5 ~
6 [. |& H! f g5 I% A% R- j keep if ddy240>=0, _; |4 k' J! P* q' x/ n" h1 D
! K7 Z- N7 I2 V, g, G
count
) L( j& a# B- q9 `% I
9 G" m- ~2 M4 J, @9 z$ {; A if r(N)>2 {$ b0 m8 @4 z7 C& a5 `/ w
6 G! W% f& u- ?0 N7 J
pkexamine dx240 dy240
9 z- y/ p) k- t* K( }6 {
1 I9 r$ M6 F+ a: H local tempmaxp=r(tomc)
1 @( V6 W% @+ o8 d1 c! L2 k restore 4 q/ f3 }" D) v9 E3 s" l' ?
}3 D- H* s! P! Y
2 z& Q; q) K3 n' m% d( n
5 P8 ~6 x6 l! {1 O
else {
: Y/ U$ N) V' `1 b# [+ ]1 t restore ; C) d& ?; W9 l3 f2 F: Q& h
di "cannot find maxp"
- {. X- f& _- V, p9 O8 L ( ^& Z. T! T- C% v- K
7 K; I. _) F: c) m" P sum dx240% _! J& x; q M. E; H
local tempmaxp=r(mean)
" h. u5 N: q: a, d9 b. W- q
y4 b! U& K R7 L }
. a8 k: v+ V; M' K+ u
: O& m! y1 _) e }% n3 }5 s6 |: S6 X
) t3 a3 x; ]2 o/ v" g; K0 P) g
else {( j) `( e/ _) v
6 i) a4 ]2 U3 d2 ]5 c3 h0 Z4 C- m keep if ddy240>=r(max)8 ]+ [% K7 D. Z) } d7 ?9 d
1 w4 v& h' K; o7 A" Z9 n5 e+ m
sum dx240
9 A' M5 D+ S4 s5 c$ G # K, z9 W7 R. n) Q: H
local tempmaxp=r(max) & q3 e! ^. |- Q# S* E( i
restore
I+ x' i4 @3 M4 k' H. `' Q }
8 y c5 j' p" h/ X; l7 ^ 2 v2 M8 T- S& f9 p
1 a+ k% y6 s6 F & m" \/ q$ E! Y, n. k. m1 O4 o; z
, [$ r7 O# D' X' R& O9 c gen maxp=`tempmaxp' in 1
9 g0 Z1 K0 n( n$ I- d* k) }
3 g" w! D" x( t- h3 X2 u" F *240maxp( Q: I! n! I; |7 ]( O- j
1 m2 ]: ^+ S1 h+ k) c
# K' l1 m7 {% u5 O/ ~ *-------------ddy240pminp左侧高峰值-----
, D; W$ f* j9 R/ w/ [' K& t1 i , s! b1 H+ I H2 Y) U
preserve
% J- I( g" z+ ^1 F- A0 z3 h. f
3 {5 t; [' t4 `2 h# V keep if dx240<`tempminp'! {' g+ b7 ^/ P
$ h6 ^' e* K: Q6 Z1 M* _1 W0 N
keep if ddy240>0
3 o" r" a' d# Z, C, s7 `
2 i" L2 r" A" H( q4 Z | count8 n8 U: [$ S: S! `4 ]
# P" t" `5 W' u
if r(N)>2 {* U, W2 D/ S: O9 ]% H
6 L1 h( u: I! y) @5 X/ c' U1 j) [
pkexamine dx240 ddy240
8 O: J8 f: R1 E) i; p w
# q: X' V6 ^" \5 o, F local tempminphddy240=r(tomc) r3 t( H8 h/ f: p4 ^- s5 T2 F
restore
0 O7 z- }) B& d0 j$ c }
# t* K- X( s5 F & X) S- q. v0 n& Y
else {
. r# P3 o1 }9 @0 T! ]9 A restore $ y) D2 H! z- _ J: g0 ?
di "cannot find pminphddy240"
' H C: D' ~5 f6 o
4 ]& | J. g; q+ \, t " O' A4 r7 L! o- Q4 G
sum dx240 l$ Z, ^- I* C3 D' s- o+ b
local tempminphddy240=r(mean)
7 x: Y( s5 @) x% P# a0 e ' a6 U, g% z- K7 F$ U7 N
* [' ^& U# p1 ^1 R5 L5 z/ n
}2 p2 l: x2 y# B7 |4 [& K4 r
8 x% ~9 C, _8 V, c$ X ! _$ J1 J2 T& v
' J9 [; U3 Z9 G/ a1 l
7 P; M0 R j9 R5 W5 \! N
& n( \( U0 f! h7 B6 l! g
! f5 m! Q/ K! P7 u gen pminphddy240=`tempminphddy240' in 1
( k: ?; R3 P9 n # }5 f+ r7 _2 l. I+ K( i
, c. H' A' [% P9 t
*-------------ddy240pminp右侧低峰值 -----------------
& F# n" T% K( w1 U+ }8 H3 j8 N preserve 3 V6 N# M' [8 m [, `
4 ?1 C# i/ L& V5 R6 r" w keep if dx240>`tempminp'
' F" D) z3 e7 n2 _% b: k- D
/ b: }# v1 v. l5 ~8 a keep if dx240<`tempmaxp'
% p9 K T) z3 m5 Z# n, [ # N/ h( u( @5 ?4 [/ x/ H" G$ o2 @
keep if ddy240<0
1 g. h1 u0 P. v& T* t3 }6 w
7 K" k+ ~1 G7 I7 u/ @0 g gen temddy240=-ddy240
6 c- j8 i+ N7 i& g / Z T/ L2 {& [8 n% s; ^
count
- i% @6 p* M4 F( h3 L, e7 {& E
9 @6 s8 O; e$ f+ a- H. w if r(N)>2 {
+ b9 f$ j+ a& s8 K
3 n% f3 D D# ]- R* E pkexamine dx240 temddy240& j: [" R h+ p
) d( O k: z& f, t, Q, Y( r& b local tempminplddy240=r(tomc)
# G4 {4 {. l- h. V restore0 [ m" |) v9 G1 B* e! X
}
- f- s: d' V7 m6 S; W+ F. ]7 E6 i 6 h$ \2 z# `4 J" b, V$ H
else {. }: b6 a' m" [! R& z
5 `. j9 F. r6 T8 ~ C9 _ di "cannot find pminplddy240"+ ]+ r% C" J$ Z0 K1 ~" ~
restore2 L! Y1 g" [, X4 i
7 Y+ q9 ~. H; w+ r sum dx240
+ p. l( e0 f1 `7 C$ @* t9 f local tempminplddy240=r(mean)
2 T2 F$ i: T4 s. u" K& q
+ h* \' M% R$ \* K2 Q1 } ' b: E5 V x$ ^- k# L
}
% v1 Z t' [! n7 `# L" k7 K6 C
' C% g5 ^# J3 e / B% R6 k" u6 D. s' L, t5 ?
. k% i9 I2 `8 z1 z! n9 o. S
- m6 I, X& c, M, D 3 g% Q S9 e! Y8 L+ Y6 s
gen pminplddy240=`tempminplddy240' in 1$ Y; ~5 |# }) V6 J' o& F
7 d. t- o" b6 P- y8 h *-------------ddy240pmaxp左侧高峰值 -------------------
% W' z' O6 S6 U1 k8 F# o ' Z- Z4 |/ p: [. [1 F$ r
preserve 3 i; v) `! H& Q- w! G/ w
$ U, f0 p1 V0 |8 j7 `/ f* k8 ]- }: A keep if dx240>`tempminp'
# [7 R7 F" D, v& S 8 a7 H: p, i1 r q% B
keep if dx240<`tempmaxp'
/ R+ j. ~' U) e4 H" a 1 z# D' H2 n. k: t: e! S
keep if ddy240>0
7 Q1 G" }. O. P9 @ count; d% F; S8 E# {* D* M# s7 k6 }# T
+ _% @' n' K; m if r(N)>2 {, Z$ Y$ Z$ W, n& n
. W! U, D, U M& I; ~! z pkexamine dx240 ddy240
9 T9 J" p# v `, {5 z3 V0 w% M# |8 V8 W 5 ~* g9 D( Z4 I/ o' E l/ w/ a* m* U
local tempmaxphddy240=r(tomc) 2 V( o/ @. b9 Y$ N; Y6 C. D7 G: I( L
* l( a7 O, A2 e% g/ w6 j! e
restore
! I0 Z8 W6 v- | }
; C5 p1 s+ Q5 t2 R7 J, S
# o; {* _7 A0 q ]7 t( g else {
5 x! L; p' ]- F6 g, o" B
# M f$ v' e( Q5 j) I/ ]4 b. k" f di "cannot find pmaxphddy240"
' q( N. N& n. L8 I+ ^ restore6 ~! l. g _5 q" ]
1 ~& Y: Z/ p# o0 ]( _ sum dx240' Q: g: O& m- m
local tempmaxphddy240=r(mean) 3 }1 W) I* T5 E6 C/ y; |
' v5 x: K5 A3 m* v
6 h `7 T& s8 j$ l" \
}* {- y. k. M3 M% g" |+ V
* c9 q: H5 C- Y$ s
5 h# X2 H% ~+ \
6 A# u! K! e$ t d" @% q# |# \) ?
$ S, ~. V- {" z $ Y' f0 H( G' K. U5 J& O& n2 O
+ ]$ P3 k+ B" R% L; E- {0 K5 t# V9 g gen pmaxphddy240=`tempmaxphddy240' in 18 c6 @3 _7 E% M& h* K$ V4 ?; s' a) t
" M% A/ m/ h5 ]) K) C' d
/ E/ A* Y3 H( K6 Y; m5 F *-------------ddy240pmaxp右侧低峰值 -------------------) e' G" X# M: u3 S! Y" ]
5 u7 Q; L) x2 E# Z& s2 D
preserve
/ G0 L) C1 T6 |6 r ~. k. c2 q 6 b) S, c& z6 `# l
keep if dx240>`tempmaxp'
7 p5 A2 V: v9 X% F- l( f " T( o2 y; P9 K% B% e
gen temddy240=-ddy240
3 H( B7 y3 {* z# M t, K9 G' r( ] ) Y1 z; M" `! k! Y' \/ a$ ~. s5 A
keep if temddy240>0
- O; _4 f0 X0 ~5 I & K( e+ `7 k! Z4 @
count
, g/ g6 ]( _' Z# ~7 N3 M
7 Q& i/ C! \: i( {; o# l) R& s! f if r(N)>2 {+ u0 F' i/ y" B6 p2 i$ L
3 X% l+ z- F5 q3 J( \% u pkexamine dx240 temddy240
4 U$ l+ [- F/ r/ e) X9 B% h" v 8 p" n( Q& D9 D) W0 r% U
local tempmaxplddy240=r(tomc)
+ W8 d, N( G7 x1 v0 |: |; _; d- C restore* q3 D& q; E' H! O5 ~
}) C4 v7 j; B' Z
$ y, J( J; r9 M' P else {
! n/ ^& X# E% m restore4 U- I! n+ b2 p2 p! j
di "cannot find pmaxlhddy240"
$ C6 T2 `" Q/ e; c9 I/ A : l/ M( J) `3 F; ~5 }
* J* i0 T8 n% f8 n9 g4 F sum dx2404 {1 r6 G' Q( C+ G4 F- s
local tempmaxplddy240=r(mean) in 1
: `+ N2 p1 c6 f% u7 Z 0 Y/ c0 E% }9 L1 x5 e1 ^
: l4 E! e, e# i, ]
}0 ]' m3 `+ _; H- j- }
' b; n+ W9 T: U+ b# ]+ p: _, J 2 s9 ]6 h6 ]) H+ k; a1 K
, T; x7 _2 R6 l/ u2 a+ j! d
0 }$ W! T+ O: V1 \5 h' y( f: Y1 N
2 T7 o# H4 e0 r6 ]9 K' I & Z- S/ E- k% g8 S
gen pmaxplddy240=`tempmaxphddy240' in 13 r6 p* b! o+ @& ~) @
6 w' B3 ]& q0 L1 s* i; o! E( Q *-------------------------------------' ~1 W$ N- F( @7 N. K
: x$ R) w! ?1 d5 H
gen price5d=v5 in 1/20
9 u% I5 U9 A Y( y# h
' M& l' Z5 G \; U3 y* C gen price5yy=_n in 1/20
5 L6 ?; I8 j8 m
3 I/ k }0 c. _- f: E* x) i0 A gen price5y=price5yy*(dy240max-dy240min)/20$ x4 }; v7 v9 X% h( b8 G* c
" B+ k- w4 L1 ^7 U$ L, P) z5 }
*price5y &price5d
% V _: b4 ~% N
7 @: U! E) J8 p5 _8 W. i gen priceny=price5y in 1
, I3 v3 p, p( l
: N3 s( v: _8 S' x) J- T gen pricen=v5 in 1
7 N. R( X% ^9 }& h# j- N- C7 w$ ~! g* G( S( j i: T# r+ r
; ^3 c8 o8 X( f5 |, [ b6 F *priceny &pricen
! \/ Q6 h! R& u$ B! K* w, Z ; {* J6 j! ?1 q# P0 P
3 ~5 a4 o/ k9 O+ w *-------------------------graph------------------
& b+ @3 m. [' m" W, I' k8 W ! L) V: P5 E% \- J3 E5 K
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)7 j1 t" R4 B/ l0 ^' ~
?" Z7 P: N. K; M) H/ H0 l
* ---------可选项目----------------------9 r6 ~! E' k- u/ @$ _
3 C9 P$ |9 o+ y4 _: B
}
9 z- b' d' S$ D0 ^0 }% ]8 _1 u$ Fend
0 r) i2 E1 q0 k& [, J |
|