|
|
改了一下,这次运算应该没啥问题了
. u W1 g1 {* o$ b" C% `
, K0 n) G/ f# [1 S9 r) f# |* u7 Y: Y, f8 ~1 Z
capture program drop hello
4 f: h9 C; m+ f% h5 \4 I1 T; d' H! Z
program hello
. U& \" p; x0 K6 Y6 \1 M u* F
- H( K/ c2 u; \' v! R" u quietly {
. |4 h/ z2 V' Y8 n0 p0 p
, k% Q! c1 s e7 d% `) C# i2 Iclear
# ?2 Q% |, E6 s6 ~7 ?2 w4 R% S Q
cd e:\finance\stock\20110101\source7 o+ f! c+ C4 Y" Z
" b$ P I$ N3 @3 V" ]7 Binsheet using `1'.txt
$ k( C( D! T* Q$ R( J7 _) ]3 a7 I! j, }1 k- g
keep if v5>01 e8 o4 A m4 r; `: E$ x% R
- X6 k3 |! o6 D! t
gen vt=_n/ t' l) _ I4 n
9 q: y6 w" ~: C2 J/ @0 ?
tsset vt/ B* P2 ]9 s4 ^5 }0 F
* k- ~# r- g6 C V4 C1 d gen zf=D1.v58 Q' G$ x8 y; e& `$ D( g! n3 E& h
/ B, R+ w0 g$ x& V5 p gsort -v1
0 m. n4 \+ Z" T0 { d( j- g
' z0 H1 ^" W' o1 F gen avol=v7/v5* G( |6 U* C( w5 w( }) N
) u6 c& J# L0 L) q keep if avol>0
0 f0 c# ]3 j* @& `: r8 Y4 J
3 u8 m* L) I: r, G( U2 B D drop vt
1 S& D6 ?9 z" p. R6 F# @ 1 X6 U- d, X; e) x$ M& P2 K
gen vt=_n# T9 l' t7 }9 P v/ a
* c' m$ K, S! U0 X* E4 A8 Y9 h6 Y
tsset vt
# u( {, K: ~, |! y3 m' \( U- ~ # T3 `+ v9 p. p! }6 s
sum v5 [aw =avol]
' M" F- v% o. Y) y/ u! u4 D f
H' h4 a! {0 s& w& D+ h gen amean=r(mean) in 1
9 w5 l. U0 D2 \1 p) K4 G ; ?$ w. c& {- p% n0 ~
* 总加权平均值 amean8 v& Z. Q% X7 Y( `, H6 P3 ]
p2 v& ]' k) U3 v
7 Y1 R* [# e- l2 @- K. y
keep in 1/240' S$ y& L, ]; S- u
5 O6 U- d3 A. G' Q4 H, d# ^
sum v5 [aw =avol]
& w: @9 y" j# `" f1 ^. N! g. k) h
G: O! r8 p0 I; W P; H: `% C gen mean240=r(mean) in 1( S |% z2 ]+ Q& h& A% Q9 N
* b' N; Y& `+ g% ]$ |; Q
*240加权平均值 mean240
% ] Z/ d/ o5 p6 P
. Y- d8 N8 A* J; H set obs 500
% x: s* A7 V( S5 @/ W3 W * U* B/ X) W5 M0 F! |; Q4 Y( d
kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph9 D8 s- A# N0 f$ ~
. @' y1 ~5 l0 ~$ u, e, c( k *240 kdensity(dx240 dy240)+ g: |& \& A& b5 ^* l, l& y
# E" u5 j8 N; }+ P
sum dy2409 v0 \6 H% A' M* Z1 j
6 }6 N: ]1 F% J K& Q
gen yxis=r(max) in 18 p# m7 n% P* ^6 {9 W7 q
8 s# L. L9 j' U* X) Q0 e: @5 q gen yxis2=yxis/2$ W% j) w6 k& r; L% X7 c8 D
" |2 S9 L( Y# t ]( J" ~2 q% B
*yxis4 f3 o/ o, q- N f8 Y3 d" {6 k
) j4 v- |; ~' ^1 H. u gen dy240max=r(max)6 b% f* y, j: }, \" s
& z' E) }, G6 b: i; ^ gen dy240minp=r(min)' z3 Z* u O+ y" w1 E
( K3 N0 o0 d2 w# k* h/ z6 q# h1 n gen vtt=_n6 f1 v8 H1 M$ t7 z5 U0 B4 I
~5 u- s$ ^0 o/ o- p d1 J
tsset vtt
6 N8 f( p) b+ ^/ L1 j: F4 p5 `% i$ C' ~9 z* E7 ]3 Z& i
gen ddy240=D1.dy240/D1.dx240
+ k! @& J8 {7 Y0 x
6 w& j6 E- {+ Z3 Q0 r5 L: f sum ddy2401 B7 d+ A( ]) \0 D- M7 s
- m7 _: S2 E: Y2 z7 Z4 Q8 |! J gen ddy240max=r(max)
B3 b0 y; @' g. z+ A& d; ?0 E ' { S( j2 m% n2 K
gen ddy240min=r(min)% v( u4 f/ \! y
5 K1 E7 L1 p' J( j5 G
gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min): o2 N# g- a' u, b
g, L% j$ A; e5 t; p* F- K* h& Q: c sum ddy240g
+ ^% k( W; y& z. P
: q: R( y: F; P gen yxis3=r(min) in 1" W' V' V& @) A. J8 G- ]* d% Q& P
7 u3 `0 d# k/ ?' b0 m' q
gen yxis4=0 in 1/ D: I7 ]2 u# o! {6 _! R
3 U( d$ @: q0 ] *ddy240g
4 o: t8 i4 {3 T& L, p
8 \5 X- b8 u3 k8 i9 s/ Q ! y& h7 K8 S5 C7 {
preserve
1 X8 `) |0 V9 j7 b: U; i% b ( {; |/ ] e2 M6 |9 C; `
sum v5 [aw =avol], E! ?: w2 j. J5 g
! B# M6 C. ?9 T1 g5 H1 v
keep if dx240<r(mean)3 x7 X- P5 q+ Z m' v6 Z# z$ z0 P
) \2 f: l8 d, z3 J$ G
sum ddy240# _" \) ^5 ?6 g" {2 T" w* A
' }$ q+ f3 b- z if r(min)<0 {
$ D8 g+ \( `" v2 y
0 S* Y8 _3 b3 N7 A6 T0 w keep if ddy240<=0
* a, C9 Z' i# c# ^7 c) m# w
/ r7 T" h) z0 n; V count
% v7 x. l$ ], U & N- `9 g# a3 Y! t$ j, D& w
if r(N)>2 {
/ {4 s& e8 |! C' N9 W
) T8 q8 o p. Q8 }9 @ pkexamine dx240 dy2408 M9 v1 _$ s6 g3 i/ ~# X
/ ^( T$ V0 _/ d
local tempminp=r(tomc)
' D' \4 R# |8 N3 f% o* x restore
7 A/ T, N4 q5 Q | }. I/ h! ~, u7 d# L n
) m; [1 O7 o. l+ r6 m9 w
else {( J- G! K1 v- g) A$ N
4 i$ R$ I1 ^- N& {9 l& f
di "cannot find minp"8 j" i/ s! U7 m
( \- O+ L) G+ d
restore
1 T2 P! E. y' M+ N4 M& G sum dx240# q" n8 z3 w3 f4 G; C' o
local tempminp=r(mean)
: v$ K3 V) L5 j! I; i# y
& {5 R) D* u* n- M; \. u }
6 S7 l( f5 D0 |8 w2 {% j }/ c, W, ?* T7 X4 X6 B5 R6 ]
else {
# d& d, @( n. y0 f; x6 r* J ) l9 x' x4 P3 b+ X, `, I
keep if ddy240<=r(min)
% a: p; p. Y8 G' f; l! L9 M/ D
& _! h6 j8 p, [. q7 I7 N3 \ sum dx2407 T7 `1 S, G1 @9 I9 C0 n
3 \8 Q* s" b, r, D. C local tempminp=r(min)
; d6 r4 { i1 J# r1 _3 T C restore
7 Q) S% e( A$ b( G+ e }
5 C0 _! @ N9 L( ^# r7 Z) _5 j" I( B2 P% e, T# | B
9 w" [: X) ~% Y7 E2 A+ ~& D
) l- J5 A1 E* Y$ h- h A gen minp=`tempminp' in 19 A/ _0 ?' I6 y# j' a
*240 minp
! l9 L1 a3 j) l$ g! d" _' [% n( g# h! T
; D5 g- t) P3 W( l A+ o ( c* k( b! B& l6 d( c
preserve 2 K& }; ~( S0 A) Q
# F! Z$ g" U9 h2 W' S. w7 b sum v5 [aw =avol]$ F& @% t3 }! v9 S' B
. I. h. y# R- l: H5 z9 K keep if dx240>r(mean)
9 ^; Z q' z$ s# Z1 d% d; _' Q
1 X: m; H3 T0 t' z. q# e. K sum ddy240' }$ w- E1 p( l) H" @# Q t7 b
' w, }. ^& c. i1 A8 B5 s( C& ?
if r(max)>0 {
2 Y: W2 V$ m" y" V$ ` * q( f: B" P7 R+ k
keep if ddy240>=0
9 x+ E3 i* ~( f$ z' \5 } 3 U7 Z$ K! L: J6 A( R8 {
count
0 S4 D" C" J" y7 a Y' v 3 s; L# U# F# c; b( L% H* a3 I
if r(N)>2 {
9 L" }/ A3 a2 O1 ?9 B; Z
( y7 x( p2 ^# _, A% J- h pkexamine dx240 dy240
6 x" J! \4 H, j! b/ U/ k. ^( n! M
1 O9 W* y; U- ^" X4 g3 k9 R local tempmaxp=r(tomc)
" a3 s m6 D a9 J2 t% k restore
. a1 ?# V# @. k- D/ T, \* i9 D) i }
6 Q7 W1 I* d3 a: ~3 B& p8 n 0 D! `- Q8 m1 u3 X2 s) { ~* T
* ?: i0 V4 I( r, o$ E
else {
) \3 @" z0 i/ ^& F! W( |; j restore
3 Q, d& O! A9 P1 v di "cannot find maxp". l. y6 j- R8 B- \/ D0 G3 J* D
1 Q& ^: B9 f$ C( a3 |& t/ \" T# w
% k, Q; l3 S3 b1 C sum dx2400 t$ `* V& Z: ]: p
local tempmaxp=r(mean)( I) ]5 _" T% j
) }8 A8 H) ?* A( y* x) z' \
}
1 P7 ^% P5 i# ~0 Z- N, o " _8 x9 u/ `6 a& i( u" L# H
}
6 L/ ~2 j; `# h0 \- r
- k1 _* o: \- r7 ~ else {
: f2 q4 P, Y. Y$ }" x $ y$ X8 z z5 H1 B* @
keep if ddy240>=r(max); b3 A l0 ?- z& M
/ i( ^* v% W" z sum dx240
. N' P/ @* m4 j
. _. [8 L, _; n5 n" n local tempmaxp=r(max)
+ C5 Z* L4 K# U7 r3 a7 `6 A restore , t% }5 @ w( Z7 G- ~% x, Z
}
6 Q% g% ?# O+ M8 a, Y , j0 ]+ M; w. ~- W
2 q; T" J( W/ ~4 d: v 6 S) {$ H* I! R Z+ \
3 G1 K8 l8 P* A' x6 t+ Y. C5 l6 k& Q gen maxp=`tempmaxp' in 1, D, B. O( G/ X2 G$ u0 ~" n5 |
+ H: k# U# z8 _7 G# S
*240maxp
! M, P2 W7 p( D c( N( a5 N
2 A! O1 w8 J" \5 }0 P
: k- M, h3 K- s% {! [+ Q$ k4 R *-------------ddy240pminp左侧高峰值-----6 C) h5 z) l) s/ J/ W0 ^/ z
0 R, P! [& @: o) q0 |( }1 [! ?% i
preserve
# }; M) e2 M; B/ g5 n% @# W
4 ~; O; S$ x0 L# I1 \% L keep if dx240<`tempminp'' ^% h# a- |0 X
! C: U! M0 b# v- H& j, s
keep if ddy240>07 X- x% n) q9 ]% V. q# p/ q. q
" U1 V6 g9 D8 _: }1 B/ `$ U( t! h
count8 U* t8 \8 Z7 |, j2 i) k
1 Q5 `8 @& c/ _0 p) D' @4 E
if r(N)>2 {$ z: x9 U: m3 j3 t
$ S" t+ ]% }0 w0 Q0 Z7 I) w
pkexamine dx240 ddy240
( s3 J" m4 ?9 L x# q' f
6 w3 P1 `& N4 e/ k7 E: w& n local tempminphddy240=r(tomc)
# C- g3 E4 ` W: i0 Q restore
% e5 s( r' R* V# U0 `) C }( B5 R6 V) k8 e5 b- }
0 d9 [- C! ?" z7 S9 P' W. k$ [
else {
% T5 V+ r5 l4 x/ l8 s! Z. ~ restore F$ _1 }! \, b9 W Z
di "cannot find pminphddy240"5 p8 i1 K' p5 s- G. D# Q% U' y& F
0 S! @) D; \! Y0 Z/ w
6 t$ b: ?8 g# l! I1 {" a
sum dx240
6 `; D& p$ D7 r' L local tempminphddy240=r(mean) 9 y- j* ?6 }$ n6 ~9 f0 Z6 V1 U
$ d, K1 U( a5 z5 o5 d5 s2 N
3 s M$ A6 J6 o9 l' l. u, |0 Z
}) ?$ s( e& y" m$ L* S* ~! u! i
9 p+ c5 q+ z" B$ [5 u2 }; @& ]
% K) L* d0 ^$ |1 H7 A1 T 1 `* i% Y# a1 p( w: u1 L! D: e
+ ~) P7 [- Z5 n7 ]' W
1 b+ p* k$ t* T; w, w; R& U ( F1 c4 Y" E% {7 ~% o& b
gen pminphddy240=`tempminphddy240' in 1
: U1 U& F+ }: P& s" t9 W
( `7 v5 a0 m- l& Q& s/ s0 w
( \ w! ?5 b" w) B t *-------------ddy240pminp右侧低峰值 -----------------0 N: J2 ~, Q! G( ?
preserve ) B" m+ L+ v( \3 f2 t, B
, [5 o6 B% n5 m" v# E; ^
keep if dx240>`tempminp'
9 i2 Z$ n: z1 S% a i
& ^3 C: z( z$ {. d keep if dx240<`tempmaxp'9 S$ R1 {" q( g2 H" _
" z; l* w2 }) X' y/ l
keep if ddy240<09 ~# l" k6 j E# Y
4 Q9 l0 x2 Q, N9 }$ ^/ G5 a
gen temddy240=-ddy240
! d/ V" m# X2 q3 Z9 [
7 j2 U G- V. t count. S+ k" x; ^# K$ ?5 W5 k2 d
! E$ F( \! L* z: t if r(N)>2 {
' Y$ y/ j* `) ^4 z, ]( Z+ ~6 B
8 D- x b; H9 H$ \ pkexamine dx240 temddy240
5 L' l# h/ }+ g( \- c $ a& W7 F5 x6 V
local tempminplddy240=r(tomc), ^. I5 C% k, I5 t2 D
restore& L {3 b: e3 c' ~
} f9 e* {" E9 ]- Z
1 ^; o) T- ^; N else {; O7 I+ ~* d `
; V; c8 w4 O$ K: w' y
di "cannot find pminplddy240"
, v+ A! ]3 ?. ~# R: @ restore
* ~8 \7 u7 ?0 W9 L
& y" O2 X" d0 _+ C! C! p sum dx240
+ A( Y1 m) w9 V0 ` i8 `$ r7 h local tempminplddy240=r(mean)
1 Q7 ~7 m/ O% Q7 K7 [
, R4 Y- q1 @2 k9 E' M' n; ~, r
- k% v" n* m1 [ }
/ u9 I1 e7 ^3 w+ V- p9 a
; c7 r9 d- N! y6 t+ G) h4 M
7 C# k5 E3 h+ Y' b, d- Z. m
2 v; S( m7 u4 z : T: A0 i2 W0 v# R9 u
$ q3 g# |( _$ N4 k6 p' Q/ A) q# |2 P+ \ gen pminplddy240=`tempminplddy240' in 1
) F1 t6 b% l/ z* e
4 x: L! R; A9 h) V4 m) q# Y9 j *-------------ddy240pmaxp左侧高峰值 -------------------
: b' _4 c- W% z" C a
) c. S7 f! S: h) L3 N4 W: M preserve 3 H# S: }0 N! J' h
. b/ R N9 M7 d- V) R4 a
keep if dx240>`tempminp'
) g1 ^+ U0 s/ U/ \ " ^6 E D( i1 }% h9 k$ b& p
keep if dx240<`tempmaxp'
) w9 j/ ]/ w* \& d7 ^. @ ' R n+ J8 g5 Q9 Z( A$ V
keep if ddy240>0' p7 B/ o. G/ `7 R$ m8 A- i
count+ z" K1 q, j& J, k
" e7 S) ]" Q6 C if r(N)>2 {
' L. [) N' w r# {' c% X
+ |1 _' ]' U' _& h) n' Y pkexamine dx240 ddy240
1 Q+ {3 M" Z2 n9 a3 x c
; M- E' @$ g4 i5 y6 [$ b+ h local tempmaxphddy240=r(tomc)
. r' |* Q9 N! s9 @4 j
; e! \6 `3 ]# W7 d restore: F/ o+ C6 `3 O! n$ v
}1 r, j3 D1 c* y& h. z2 T
; B) }# B& P% N) s. |7 c7 I
else {
/ E! b+ U( A5 a- O* ^0 q; l. g& ?
! r8 Q6 |" {) i di "cannot find pmaxphddy240"8 v3 w! A; Q0 q: X
restore$ q% N# |0 P3 h5 c. W
- C0 E. |9 A+ j. y) W/ ] sum dx240
) u" k) m; ]4 p6 A, ? local tempmaxphddy240=r(mean) * F$ p! y' H3 |/ V+ f" |( r
! e: D @; J. l7 P3 e' i" Y/ b
- A+ {# G: Z0 m2 r }* k. y* g+ ^5 o' k/ u( F0 \; u0 T
1 h6 a. j1 N0 r1 e4 @! C 2 i) L! m- Y' G; n, J" a
- E" |" t, z* W4 d8 b
' D+ r. n0 R: R& A. M 3 L W! t1 D6 x
! J! j- }% a# D2 \1 T9 x% }; e
gen pmaxphddy240=`tempmaxphddy240' in 1
& N& L4 Y) a; u. T" a$ D/ B : r: b8 v' [: o# [) d4 ^. S3 h
& E. @# O8 y' s& S( `% O *-------------ddy240pmaxp右侧低峰值 -------------------* q6 t+ L* L1 C+ A0 H1 u
4 ?* p* u* X; k- V# H
preserve
" L% j5 X. d C& E1 l A8 a: A, T# I# I! [0 Y
keep if dx240>`tempmaxp'
" Q2 W! ~$ H$ h* l& b$ | L! U" c4 b
U% A. u3 V: C! O gen temddy240=-ddy240
$ h4 p4 |' M1 a% w# l) c 5 {) f. m: `# I; H
keep if temddy240>02 b5 w; z% A5 k( u$ D
, Q; c7 J/ m2 D* a( J' ]
count$ _+ z. n- t/ X- B/ `) b$ i. [
7 v0 H: T4 D: ?0 f4 u# a
if r(N)>2 {- c) k v, a& ]' v X6 n: K
' h: e! E$ ?9 a! b: P$ W# q: C: N pkexamine dx240 temddy240& ^1 C/ ?: f& m1 e
, a! h; K D7 y
local tempmaxplddy240=r(tomc)
5 H$ {/ ?. F" Q# K6 C restore
/ k) N$ y# P" ~: X! T5 m7 a; q; K) V( ? }
( `. K1 g4 M; o! c3 g
& u z/ } S9 S* J2 K# m else {% d& m5 |6 Y* r/ t5 ^ X% V8 Y1 T
restore
; m+ o* ?; _/ X1 Y di "cannot find pmaxlhddy240"" ?4 w8 I7 {% n2 z2 `# x6 C2 j
" C4 b: F1 v! @" O/ ^
% x7 a- E+ U6 i" u
sum dx240' M8 e C; W, i; y
local tempmaxplddy240=r(mean) in 1
7 W7 r: W0 A4 o
0 W1 }( F$ r$ {7 O. J
0 L+ L1 H. ]# a' J- c+ @2 @ }
+ j1 ?! Z3 m; l9 K7 P& C* X' G4 s ) ]( d% |/ U0 J4 D/ Q
+ h q, r- Q& d6 q
5 |+ P O. c" r% ~: W
( D+ \! B, D8 ]; Z % i% f" k# D d" J
, K3 B V5 X/ f+ F gen pmaxplddy240=`tempmaxphddy240' in 19 P# D& `7 H! C+ V6 w# ^% W
! M4 V" z0 w$ E1 ]0 s7 {
*-------------------------------------
. M0 N7 w* @ ^9 X- |9 V" `
: x3 M9 E% H: }( ~$ r( { gen price5d=v5 in 1/20
; H2 T% y7 Q. h6 ~, T5 q. ?: v * E0 _3 p5 V0 l
gen price5yy=_n in 1/205 m/ m- b! m( J) z) o( ]
7 r9 E7 i: k! f1 j, J; v
gen price5y=price5yy*(dy240max-dy240min)/20
( c9 K! N4 }# @7 i9 A
9 L& W# {; w9 _. H: o# ~ I6 f. m: J *price5y &price5d
9 n [! w! ` r5 ^+ [ % P F% L- |4 P. |0 m
gen priceny=price5y in 1
+ i0 C7 a6 ], G' I$ z9 P
/ Z8 X9 D4 `- N# m" W& f1 f gen pricen=v5 in 1- ~( D; P: u' ?) k! ]3 J
$ Z+ |' |, K4 o: z0 l r! P
9 ^. R; s# z' N5 p" A n% n *priceny &pricen. s0 g4 K% v `% a- h" X5 t; Z
6 U9 E4 {" O$ U; f6 G% z
# u$ w. R+ @+ ^# B
*-------------------------graph------------------+ o5 ]# Z7 D) M
/ {" z o1 {' E0 j/ L5 A 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)6 }5 m' c- X; T
# t0 i" P, Z& Q, \$ x7 ?8 a2 w% f$ l* ---------可选项目----------------------5 W: d. ]! g4 B! X, X
: `, ?# s& j$ s) \8 t, Y}7 M$ R* v/ [5 ?2 x) ]. r9 p) [
end
- `% s I$ }( p' l1 {/ e }6 y |
|