|
|
改了一下,这次运算应该没啥问题了
5 G; u5 Q5 L( i5 C" D5 m- B" s( C( w
6 l8 ?7 [- Q5 j; U
capture program drop hello
8 k$ z, E" W% ^' i$ E. Z
8 K9 U' u0 ^# p1 Jprogram hello
9 o5 t5 D" r7 I4 Q0 x: m9 X9 Y
; q* e4 a+ @- E b. v9 } quietly {
+ Q5 }$ x8 R/ a) o% L+ W
5 O0 U+ i! D: J- H7 {' _+ b3 ]. k/ h% |clear
# d1 S+ y4 U7 j
& I! L5 k9 h! u$ b0 U/ D+ ?cd e:\finance\stock\20110101\source* ^9 U9 P, K: G% m
. b8 @, |' l: E8 } _8 f
insheet using `1'.txt
2 `( b" ?7 x+ U0 v" z$ B7 t+ I) J1 N8 k! w% }$ h0 `" Z% F
keep if v5>0
" |: K* K' a! H0 J
+ g( X; L2 G1 D1 T/ B gen vt=_n
) q* @4 h$ d5 ~# T7 ~
! ^, v2 \3 U4 J& _) g1 S. q6 g tsset vt
1 N0 m' v: Y: J( J1 ]: v( d( N% e# b+ z* A
gen zf=D1.v5
5 D0 f/ `3 h6 s5 P4 V" k4 |. g+ i
0 B$ @/ D* E: g2 ]3 G gsort -v1
; H8 j) _: b1 @
8 U4 V, i4 y7 O gen avol=v7/v5
; Z; o2 k* @. J( x
2 T' A7 z( Y* x' P0 x keep if avol>0
) R ~( K. _2 j: \! m1 f, W) g+ }5 |
' b4 p; m! L, E* a, c2 y drop vt9 u+ X: `: N- A. }, Y' }$ i
6 |% k' ~& b, [2 I( ~* W4 t4 o gen vt=_n X" g: v3 V% ~; Z6 c! _: E
% S+ r+ A# Q$ Q( U4 t3 K
tsset vt ?! d9 v5 t+ u' ]1 i4 Y
4 x8 w( }/ X. q
sum v5 [aw =avol]' i7 |# V9 c' t1 ~1 b" q
- x& _. ?% P. t8 I3 c4 ?6 x+ d A gen amean=r(mean) in 1- s' N ?2 [' B$ h* a# q
2 C/ Z0 r. e" M( U4 h" o * 总加权平均值 amean
# Q. W5 C( Q8 A* e! i g7 X" N
8 i* `6 i; J! ?, g+ u6 y
0 G p; h \( n$ _/ [3 w7 g0 G+ J keep in 1/240; v0 l. {2 g4 _3 O
& b/ k0 C6 p& P5 S' H }
sum v5 [aw =avol]
/ l2 H+ l% n$ ~2 |: D4 Y% N$ |3 `1 h* Y6 M# H
gen mean240=r(mean) in 1 e+ H7 P, T( {, o( R( d- Q
" }7 f. t9 Y; H' U j0 Y- U
*240加权平均值 mean240
6 h- b( j- G9 P; n, _ + k& G1 N, s3 G8 d! g$ h7 ?
set obs 500 E+ q! a3 H* P3 P* {4 x
' e j) S1 ~' U Y+ c5 a kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph
6 U) r" W, l- W# J5 F9 w
1 |, w2 y4 d# v$ P3 Y *240 kdensity(dx240 dy240)
, [; n0 Q l' \: i3 u
5 P) o8 \: a9 C0 K3 [8 O! @ sum dy2400 O/ I" e) r4 P6 O Y1 K6 T4 {- n2 a
, r% v q" D9 w7 ~$ b8 ~
gen yxis=r(max) in 12 @# y$ X" c1 q$ ]- M: u3 Y1 n: j
; k- T5 ]3 \5 G3 l3 Q gen yxis2=yxis/2
5 L$ R2 _9 n1 h7 J/ C3 T% P & Z7 g/ x, W! C- Z3 `/ ?3 N
*yxis2 x9 w5 Z1 w b% [. `2 j4 f
$ V2 c' {2 X. u. u: d/ ^ gen dy240max=r(max)3 H6 l# M2 S; Y- {8 a% b/ u
) Y+ G6 `9 B0 f. v. e gen dy240minp=r(min)
4 Z. ]+ `8 w+ V* F$ `6 R% {1 R $ l9 Q$ G5 A. n( k
gen vtt=_n
+ K2 A- x" v5 _1 i2 a7 h U/ j1 k8 {7 F1 b. i2 s
tsset vtt! E, h7 k. J, y9 c/ J2 ~
/ y+ F; e: y* N. ?; L gen ddy240=D1.dy240/D1.dx240& A8 y x% i3 n; X" C3 o
- H( ^8 }% s' r% x sum ddy2408 r1 Z+ s) O+ ^
; I' X% l' S l* ^+ _7 }) X! \7 | gen ddy240max=r(max)8 V3 K g6 k* Q3 F/ Z
$ b$ x) K. ]7 i- w2 D5 J
gen ddy240min=r(min)
0 M, e8 g9 L; {- f' n/ c% T7 H% r$ [- | ) D( X2 F4 c# g# V- _- j
gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)- @- M0 D2 s# Q* t9 L5 |
" ]. a( m; `: b
sum ddy240g
9 q$ s' u7 P/ V' L6 s/ j. ~ 9 ^' R% n7 s& F" P$ U6 ]1 ]) I1 V
gen yxis3=r(min) in 1$ d& s& Q' H# D) N$ O) q
4 Y/ Z# N4 G* [. A3 i
gen yxis4=0 in 1! f5 e& T( k. b
4 A7 C: I$ d! W& Z- Z/ o! k *ddy240g
, X$ p& Z( F! u/ `* x: `1 m( i7 A " F& }: ?& L7 v1 {) I3 g
- M% X- ]/ F ? l; t: a/ w4 L preserve
0 u* e V; M! b, Y3 f ! i3 q. q6 v" g3 F5 ~
sum v5 [aw =avol]# }+ S* z. S, O% {
0 C' W' D u ^8 e8 s1 \: G# l
keep if dx240<r(mean); e. P; h9 F; @7 j) G- Q6 E7 j
2 U& d) c' S+ G) e8 O7 G Y sum ddy240; M; f, G9 x* c6 c+ d, E
6 O* @" u+ V6 O5 y# o if r(min)<0 {
( u$ Y1 z5 b: p" ^
# f! q" N3 `2 F3 G keep if ddy240<=0
! C I! J) R' F9 z q0 w " R3 w# C- J9 b5 L# @
count
1 i7 l1 P+ x2 v$ K
- M/ m9 Q7 J3 Z$ G+ J& v if r(N)>2 {
% C" ~3 V+ e, D0 c6 Y1 a. _% |
) ?, S( K& s; R5 D; S" E" x pkexamine dx240 dy240
% H5 \2 c4 ]. R 4 O5 @6 v8 X6 [/ ?# n
local tempminp=r(tomc)
" H" d2 t; H* ?0 c4 o% k restore
+ ^+ p- Z7 ], f4 _- A0 H }
- H' ? K6 L7 P2 ?# L ! m5 J8 F) a* I" U
else {
0 \: b+ T# T9 H$ a$ u0 d0 z , T: f6 L8 n4 c2 @
di "cannot find minp"9 I) o/ d# b J. t+ w* A! M
( k1 O, |+ V9 w2 S5 T- a: K; f
restore 9 y# U; q0 o/ W+ w0 {
sum dx2405 u% v- i$ k& S
local tempminp=r(mean)
) {" K: ?0 [9 [. s
0 T- |% H/ H4 j }
& _! }# {- _: W" c- d }
3 R6 S, b1 l% y9 f* D U8 x8 ` else {
" h# R( j: k. V! Q+ R
5 { L+ I2 K- C* p( p" x0 Y keep if ddy240<=r(min)
0 q4 g& l1 b; V: e6 z6 i7 I; { + j7 K& d* E6 w1 v" z* n
sum dx240
, J, S* x$ {/ j+ q/ n * f) d ^. h% m' d6 `) W- \1 B
local tempminp=r(min)9 r, `$ J5 J& u0 \* ?( V* g
restore ) W6 J( a- ~; A
}
. c0 Q5 j" ]/ V1 |4 a/ ]! x
; b9 W% G" ?8 k" k% p7 H
9 W4 U6 v7 M! T) g) I: @2 i8 O# v5 K6 P! J# q6 C: J, c
gen minp=`tempminp' in 19 ~) [! h5 m5 m' C# X1 S) N
*240 minp
# S- O8 F4 r; a4 f! l# [
, O3 j, n7 Y9 `( P( F; k* r' p8 Q
4 P6 j9 M R; u% a0 w0 o0 [
preserve
6 }# _6 o! c$ U7 r3 w) Y; y : n' q' y; C* ^3 D, b
sum v5 [aw =avol], ~- j; Z" I+ S
0 j( L6 p9 V# ~1 K keep if dx240>r(mean)
3 n5 T/ j1 r. Y5 F; h
! q* C+ o4 v# n1 t; }% i sum ddy240
# q" s! C* d5 H4 E2 k3 a
* N4 E5 W+ u6 _' l0 w0 U if r(max)>0 {
- r9 g3 X, Y8 {6 w
; J, e2 V* v6 g: S1 x! { P keep if ddy240>=0
# g7 u9 q- d! r- n: A1 t- t / q0 ?( k! u* U! p% M( Y
count, L+ a1 h6 D7 u' s5 {5 | ~/ n2 l
, |! e5 j5 ? p' O4 @6 ?* }3 H
if r(N)>2 {
0 o8 }. g# f% f7 ^9 v' n ! m5 Z. E0 X4 o1 G5 G* Q
pkexamine dx240 dy2409 [1 ^, ~1 z6 w. \0 q$ v$ N
/ e4 Q. d7 I7 ]. ~ local tempmaxp=r(tomc)
9 x) d6 i8 X% v8 l restore
# m# M7 r8 [3 \4 b. H2 I }
- X, B5 D; j! e. l/ J& p
7 e. Q: E3 W6 N 2 N9 s* I; S2 s0 }
else {
6 f" Z; D1 M# R9 h7 H restore ) w7 V. K. D$ z
di "cannot find maxp"' e5 V" V h' G
9 ~, ~6 r# L q) H# F# C+ s' \( E& s ( d ^7 @0 g3 Q: d
sum dx240
2 Q1 _- z, x' x+ ? local tempmaxp=r(mean)3 x3 I& ~' w' b
! |- n+ {$ T( q7 Y3 E }- o' ?1 {# P) B: s
; b) c9 N$ D" d* \9 _2 q
}1 a( |7 l% U: a
8 m) M; e V6 H* ]8 F: Y6 B
else {) O5 [& \$ I5 s5 S Q& j
2 Z) C* M+ @: C4 p
keep if ddy240>=r(max)# U+ V/ L; K4 @5 i/ Y! |9 _5 x2 t
4 {5 s! S' N' D1 V- k* ^
sum dx2400 `( _; \4 m) T; J* f. L. L
5 p5 l2 z) v: F3 Z, q: x
local tempmaxp=r(max) 4 h' s. r4 a* [* X: Y- Z- h
restore 9 U4 S l- D. A- b% J
}" B" J! |# s2 I& Q8 g8 @
) [1 J$ t5 z4 c% I* }7 T. _( V
6 q) V N6 @' ^
9 u6 e, |; ^$ A+ m$ x. X' A6 d& S2 I4 u9 g: i) j, i k- l0 o
gen maxp=`tempmaxp' in 1 e2 V+ N- O9 ?# | V- N+ }
( v9 N5 V9 l {* M% J *240maxp
, O: K9 c: `: }$ C : A) I0 }" V) P# \) o
, }1 }% {" `: _' B
*-------------ddy240pminp左侧高峰值-----5 C3 r$ u7 s8 d% B
. v0 ? l( D# x) K2 V preserve
" b9 g. _4 \8 B) E; O0 X$ ^ & l+ ?& }0 V! {$ @1 x
keep if dx240<`tempminp'
' Z: k' V+ ?- {3 Z9 f2 }1 ^ 8 [4 O9 }3 w4 R9 d$ ]2 v
keep if ddy240>0! M' |+ A% i8 S$ K) n( J3 r& e
" }9 T( M, d; o5 H4 k3 `# U count' ~/ _# s) d; K& [- s
) @& \: L; O0 ^+ C7 r! ]' n if r(N)>2 {0 h. ]& G0 t b( [% B/ ?
2 A `) G2 I4 w! d
pkexamine dx240 ddy240: \, ^( t. T0 ~( Y M2 ?$ P: L! A: L
; }# f6 L$ ]" f1 g& ]) U
local tempminphddy240=r(tomc) 8 K6 `6 k: n6 J/ q: h: v1 S" u. q1 I
restore9 M' y0 E0 k" H, s0 V2 \( Y( I' F
}
1 f: n- Q( j& j f 5 M8 J1 a+ ?* K) a' N7 W
else {
* M, z9 I; ^$ p! y4 E restore
1 @3 y4 [/ Z9 C) X8 x$ t$ _ di "cannot find pminphddy240" ?& W* a4 z- \. l/ l& F
W! J+ Z N9 E% f5 _# z; D + W2 i2 J( P) F% B7 a
sum dx240- R0 i4 Q3 b" F& k* S9 l8 V
local tempminphddy240=r(mean) 5 t. I' \! Z0 s# s$ a" e
& r8 ?* Q. `8 W0 F" M9 B0 ?
$ W* r! a; ?' A, i. W' { }
6 n4 ?+ r% \- u& [# H6 O. F
! ~" h f" D+ C" ~$ b
% M3 {; T( z5 Z8 U+ }: ^ ; H1 b8 J5 {8 [ q( ^- z9 G
! @. G# \* m% J- Y9 ^1 O) q
' g2 J0 b8 d) G) [/ x- F
% l% @1 [# x5 |6 j, Z gen pminphddy240=`tempminphddy240' in 15 M9 P% {" {8 `' T3 @
& p6 c6 s8 O8 W; G9 f, X3 t$ D
. X+ R" M. p& X' z8 w2 h *-------------ddy240pminp右侧低峰值 -----------------
% J' \( g* q( w7 h! W5 C( Q! y/ ] preserve
G% s; e$ H4 @. K4 p7 M / A: ?/ Q! Q5 ^( J4 C& m. _$ E7 G
keep if dx240>`tempminp'
3 F& E( P' O+ X" P4 S( y; S0 V4 ]
9 g _7 Z* q+ a a' a keep if dx240<`tempmaxp'% x7 @4 [* I% f7 W
9 s1 g$ b/ M" ] keep if ddy240<0( V9 O7 c& Z; u0 \
' T4 p" `: S% ~' r( T0 ?. i. l9 m
gen temddy240=-ddy240/ X; z: U0 s, }6 n
$ m( y4 @" O0 R& ^$ [ count
& R' M9 _0 S9 x . }5 k& l. M# o
if r(N)>2 {
& z: H. | J, o- n k
p% ?6 g# @. ? U, U! K* m! z pkexamine dx240 temddy240
' i% ] r5 B! x/ }4 R- x5 H . s& e" ?8 r6 a7 h& m
local tempminplddy240=r(tomc)! c0 d8 b6 R; G2 o
restore* p/ J- w6 P' E, y- P. F
}; z3 u. |1 e; }5 D, h
5 ^" {& O! a; l# B. y+ @+ H6 T) t5 x else {
' i) Y7 s" Q5 c: M; X % a# x/ `8 q, t
di "cannot find pminplddy240"
7 z p& |, x- J* [3 P8 v restore' z6 U3 X- {$ ~2 q4 t8 h7 |+ |4 y, n
% o+ |% ?3 @6 e* q- \
sum dx240
3 H1 x5 w" L4 S, d local tempminplddy240=r(mean)( c. A7 Z$ G( Y5 w
' L; |- C d: Q7 A
7 ^+ ?% }! O! R. e2 G5 O }! t* I- Q: ~. g/ b' Q
- B$ [( n7 @( `( L& L 0 i0 y5 E) j9 ]& a
5 p) @- ]/ `2 @8 }, j, H& P
- u% n* W8 J0 n; o' A
3 l6 v. S% G t$ C gen pminplddy240=`tempminplddy240' in 1
, n& o, v- i z; @9 Z" ^2 B ( [( I' h) w6 d, Q8 ~% x* V
*-------------ddy240pmaxp左侧高峰值 -------------------
+ O3 n6 p6 ] g5 [ 7 U8 N8 h& s, m r, N# G' ?0 }
preserve
. R7 K$ \) Q4 U
a0 x/ }- z4 M$ G, Y keep if dx240>`tempminp'2 L/ O H) I1 ]/ V9 n7 X
7 E; I1 F/ t9 j, I t, Z/ y keep if dx240<`tempmaxp') T! r$ N9 K/ j7 O7 d! T
9 t! L, D! W. ?5 b f keep if ddy240>0
. F( S/ ~, p7 y) @ count
! @4 M: g- \$ d' j1 O6 }
3 D& L2 |7 r' w k Y5 B) m) U) r if r(N)>2 {2 x1 f# Z" u; K2 D. E& X* u
8 Q1 u" A5 o, I8 K$ ^
pkexamine dx240 ddy240/ S3 l, r, D0 l7 m7 h9 m1 H0 u _
( c1 V9 Y7 g- O" `) y
local tempmaxphddy240=r(tomc) % b. l. a7 K O% Q' `1 n
: _" ]6 y& O" O8 f' j restore
& N' m8 I# S* O0 u- ^# S: w }
4 u8 g8 ?& t- x9 R ^& V* i( T5 L; O
+ q& w8 o& p7 G# `- l2 }5 x/ i else {
( \- h1 B" X$ J4 p6 _3 a
0 @3 ^+ d) _4 r9 G) G6 i, o di "cannot find pmaxphddy240"
; I- P1 N2 x6 [6 s9 p restore
; O* O2 o) z( r9 H- E
* S( `. y1 V% s( g( p6 E sum dx240
- S) u' O" T. E local tempmaxphddy240=r(mean)
N/ n& Y* H" g
3 R7 [- ?6 P# T0 Z . V4 `; E( N! K; n& z* ]
}
, T4 Z" Y3 m+ E* j/ C8 d
( P/ b: I; _ F2 n 1 N# V ?3 l3 h8 ?) F; r. G6 J! q
- ^7 X: \5 p6 T& G. l- F
1 M7 r+ m3 x' D- M; G1 i: e# Y
# A# }) Y! M: P! [( x
5 T. p- W( K, i; ^ gen pmaxphddy240=`tempmaxphddy240' in 1
* F; {% x7 v& v5 H" X 6 v% \/ p( E" ^* I+ u
( r. ~3 t" ?. }4 l# T- x2 M
*-------------ddy240pmaxp右侧低峰值 -------------------
. \: s7 ^9 p% H5 X, i 6 S2 O" A8 [9 B3 j$ h
preserve ; L. u x% K6 P
# M& R% u. [0 J0 D/ r keep if dx240>`tempmaxp'. x: z8 r$ L% Y) w" F% x
# X* d: m$ ~# X0 c2 x
gen temddy240=-ddy240; D2 Z7 C, V* }3 }, y ^
+ m9 I F5 g3 Q8 f$ O+ g9 l keep if temddy240>0+ O, L5 S( P1 Y& e9 S3 B
l3 U& v. Z- v# |: U W
count
0 A! K. w0 d ~9 w" ` N9 | % M6 y6 G H! U8 h1 H
if r(N)>2 {* Z u1 v$ b) }/ h6 U
& y+ X4 @1 H7 V8 |; B' U$ l pkexamine dx240 temddy240& p* X u7 k0 `* G2 x/ ]7 L! c
4 z, F, L) c! k/ J4 |
local tempmaxplddy240=r(tomc) * t1 q: a4 O: t
restore
( T$ w8 H* Y2 i7 W+ s1 u2 i/ P }
9 B8 T$ u1 L( r, |. y- A
8 g" b9 Y2 U3 ]1 d else {5 @ m4 v2 z# o3 X- X
restore
! J6 ~2 z/ I; z1 L di "cannot find pmaxlhddy240"
2 S& E, x, e/ e. O 0 }$ p( |. ~, s: r/ ^
' X' \3 F* S- G Z3 v$ l sum dx240
+ m9 m- O: r* T local tempmaxplddy240=r(mean) in 1# d# x( h% r3 r$ {8 R
) Q; @7 Q6 P8 y1 z
) Q. U7 ?) }" B: F }- c( w4 F. l9 ^& j
z, V1 P( w4 J6 P! k# i7 u3 N% @! G 3 Q n2 n5 \4 o z2 h9 }
9 v% h$ t& b) {% P' i4 K 9 {" J9 y& N' S( U6 P; j
& z4 Q6 H+ W- S8 ]; f" M, c
# t2 l6 v& O7 G6 N
gen pmaxplddy240=`tempmaxphddy240' in 16 ]* p. _% C4 f0 B+ E' o8 v
2 `) g& W$ Q- L ~2 K8 I. x *-------------------------------------6 t) L, P/ r. n& o
" g( _4 ]" R) q gen price5d=v5 in 1/20& l5 l: y7 j. K& _( w/ }- P/ z
& g: k/ t* [! [& `
gen price5yy=_n in 1/20
# x) D" u5 `! X. ^# x 2 V$ ^6 Z n9 K+ I2 M- f; K
gen price5y=price5yy*(dy240max-dy240min)/20# g2 a- S' Z8 u- m
9 X* d! E: I! o) m9 s$ N* R *price5y &price5d
9 N/ I) ?$ a5 }, [4 C7 P 8 d& i3 ~6 f! `" z/ h1 `5 d
gen priceny=price5y in 1
; Z/ }* ]( _2 z5 H. @: l / T$ n: X$ _- x$ k
gen pricen=v5 in 13 y a: ^+ w% K3 S, i
+ E6 j, q( c2 \1 @! I/ f2 W
8 q8 O9 {. p- s9 \3 m6 } *priceny &pricen
- L6 H( q9 F) K( ]: A ( D a6 |3 {. f7 W6 p4 s
0 v5 Y2 h7 g- W5 b' [ *-------------------------graph------------------
2 O; W" Q; P# l) T, ~3 ?: U$ y" T
2 }6 a2 {9 K( G( `% T 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)
4 \/ F. n: u' W- v* U! i
5 R2 k8 b0 P- l2 r* ---------可选项目----------------------3 b& {' U7 X9 V" k5 o
) |) o: Y$ \: n* |, D}, G0 F, f- f, [! M" U
end
' M$ t, h0 n# N0 ^ |
|