|
|
改了一下,这次运算应该没啥问题了0 a% m7 m) R& [
( F* b# t4 R) m* e, f8 A# b' h
capture program drop hello
* X, `5 R# e7 Z* F# r
$ d; W e/ a& ^; Cprogram hello
1 i4 ^8 p& ~: \3 `0 }
3 |* R6 ], ^. ^7 b) J quietly {
) U9 E' Z+ O' O7 |
( }# f' z, \. @ T6 w4 v- qclear3 o* O2 e' _, {9 }' N) L
7 e5 k2 n! P$ a1 H* m. y0 {cd e:\finance\stock\20110101\source
' Y. D1 ?8 E5 u) V' T$ d1 f
S. G( Q+ n- |3 Jinsheet using `1'.txt
7 T6 F& }& `, H4 g4 B. b* F) O) c: h- x
keep if v5>01 J, D" s2 C& u% t9 g0 i
/ e4 L. _4 B3 m9 d gen vt=_n5 Y$ U9 H9 T! K# r% T
# D* q" Q+ E, F4 c8 K
tsset vt: ]: e1 d) P- D" s, u* `# U
+ t) _; T8 `: F2 W% }2 b$ i! e
gen zf=D1.v5
! D3 B6 g7 P% A4 [+ u9 F
! N4 R+ ^, t# w$ j! k- `/ k& j* U gsort -v18 ~/ Z+ ?0 s) F, N% H+ O& D8 F. S
2 K1 [/ q2 n( ~" a* F' k" B9 G gen avol=v7/v51 ^# i" N* X* I8 n3 d
7 O" a+ Q* o/ _% a
keep if avol>0
; M0 L( u E( d" B4 R . o! ^6 D1 J( |. e) N
drop vt8 c! Q- q& u- n/ h4 y
+ I8 E$ R- p9 i2 ^) w, |
gen vt=_n
7 C) D( d R3 e1 w) o0 E% Z6 @ 4 h; p4 ^+ Q+ a( f% P2 B: H5 @$ u
tsset vt
$ J8 b5 X5 E0 v' C - p7 b7 y( a4 j, B5 Q
sum v5 [aw =avol]
+ `& K: t( h( @1 a- N, d; W& [
1 x. Y) T1 _2 u+ F ` gen amean=r(mean) in 1
6 K) f. A. g- K9 a4 D$ x : \ y/ K6 u0 F* u h
* 总加权平均值 amean
0 ^# C+ ^/ h0 m
0 _. [( y$ `% }8 Z
0 I" b) @5 M1 }$ G) Q keep in 1/240. o7 L/ p# z. i+ h& e/ N$ Z/ ?
W1 `) w3 q; Q" n- C, q% R# E0 B
sum v5 [aw =avol]& W1 U4 E0 ]+ ?' _* J
0 \6 u) p! k* b* _9 _- n gen mean240=r(mean) in 1
- e7 v; A& o* }% ~0 F# `0 |
1 o, r% z7 R2 ~ g2 s! M *240加权平均值 mean240
+ a6 w, d0 v' D
) y% ?/ s' m4 k7 N3 Y( E set obs 500 + @! {3 D' d1 t# H2 p+ V, `
+ e7 W6 D1 r7 b* H0 p kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph$ z; b. c z* H, P
6 I7 t3 D1 d7 f9 Y- B
*240 kdensity(dx240 dy240)2 C4 @( I1 g m2 `# Y# M' r8 J
$ S! p0 J5 m% c* I) \/ l sum dy2406 a8 ^! t \9 r5 G# Y% X
, p4 y2 q$ H1 q( A gen yxis=r(max) in 12 D' ?6 B( V8 W
# N2 K( Z0 h$ Z4 F3 ] gen yxis2=yxis/23 q5 j: O* \: J6 J3 V+ W! H
2 A B: ^' u5 ?) p
*yxis8 P/ e" T5 i6 A n
. O9 f6 c9 P5 I gen dy240max=r(max)
+ l7 c4 |& r- d
5 S( U; y4 n& K, `0 ~$ O gen dy240minp=r(min)
0 A# B' a' c5 x) Y* w3 ]* } / W7 ~2 h' \( P: K* `) V0 m0 X
gen vtt=_n1 b) S7 T" S- @0 m; y7 y& v( F6 a5 C
G, ^6 _3 Z- }7 @; ^6 q7 c
tsset vtt
- S; Q( p; w; h" V: Y
# r4 ^8 n1 [8 l' T( F gen ddy240=D1.dy240/D1.dx240
* @1 g1 I6 f# e* i. z' T6 l5 d 0 m$ W# g: E0 R6 K- `: ^0 M7 k2 n
sum ddy240
" ^: S5 c8 U9 Y1 R" S* Z 6 g1 G0 i, k2 Y
gen ddy240max=r(max)
. u9 R; U6 H4 ] n" J
% |/ X/ C' C2 t gen ddy240min=r(min)
4 g J. O# ^) ?$ H* ^
1 `9 z! s7 I0 d8 O4 k) x) n6 f gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min). `( M( E# h p9 O% C# A/ A# Y
2 N6 g/ H! p9 T5 L- @9 } sum ddy240g! m; }5 d+ _9 p% [& g5 q/ I! F$ }
" J$ V- O j6 Z: E gen yxis3=r(min) in 1
2 u! k n4 O& t( G1 V3 X6 o$ Y 5 x/ u& `+ v( T# J
gen yxis4=0 in 1- C. l; r# W: r i8 D( A3 V7 e% S
9 ]4 I" N' C# Y* _" Z2 B7 L
*ddy240g # P5 F0 E; t' k3 U2 L" t% _
5 O# b* }( Y9 c* R" R4 K
" g" b/ k K R+ P- l x preserve
* u5 P) S; M; _5 q: M3 w# | ' l( }, J8 m* d9 r4 }
sum v5 [aw =avol]
5 A1 ~ @$ A$ k) @+ k 3 ^1 Z* B. ?1 R2 W8 t( _2 _* Z
keep if dx240<r(mean)# o9 K1 I! d6 k" I7 ^
+ R/ N- W# i" o) {0 R4 g
sum ddy2401 M' w. R/ |. R1 S ~
7 C! x, A _' L9 q% s) i& f" L* x if r(min)<0 {
3 i/ a+ y1 v3 S- {: {. w1 `
0 |; k; g- f" K" c0 R# h f4 @ keep if ddy240<=0& h; S% C# \5 m6 ^: `" V7 s. e
5 ~1 u# i* Z: S; {: X# p count
# s& D; u3 R6 p" m ; P" c$ D4 m! }; D9 F
if r(N)>2 {( l1 V4 ]* r- t- C" _5 }- O
) `" f, X" h5 W- s/ E& @/ `( y
pkexamine dx240 dy240
4 m7 P, }2 M' ^( [
g4 f8 S" _" {# Q6 c: I local tempminp=r(tomc)0 J- t, l% [6 ~0 `+ Z
restore
8 U& f. j; X0 O1 d$ n }6 Q1 g1 Q2 F. g, E4 H6 j% Q6 U
! S& V% N$ w4 R% o else {0 p0 Q# g3 A. E8 _
o* ~! e4 k& q/ l: ?. k
di "cannot find minp"% B% W; n0 L! R9 F U
/ _/ \) M; e5 X' S) m! s2 ~ restore * L$ s0 P$ v4 E9 ?; ^
sum dx240# m* }7 ~9 F, p5 M$ S
local tempminp=r(mean)
1 Q1 B$ ~$ D4 e r
' B* K' r E! @5 e }
; U n, S3 ^& ? }# R6 ^4 @, s+ R' ?+ d9 b
else {
- e1 g- {1 r& _3 P
! Q! `& R- F0 y9 ~( Y' N keep if ddy240<=r(min). h8 ^2 E( j% F1 g" n& @
! \+ i, P; v% |: Y" D s
sum dx240
" z0 I* a; r* S' j! v 1 ^5 e7 J# a, Z7 ~
local tempminp=r(min)
& q% |) Z9 X" n1 ?% C: G8 V; x restore * g" d5 Z0 U# l' G/ r) U& I
}
+ |' ^7 ?4 }3 P) G1 u* @. {2 C2 F1 h2 n
+ M3 r) s9 _- l+ b$ p \5 y" k/ l( z8 g
gen minp=`tempminp' in 1
1 G- c4 v" w" @3 X' |. m *240 minp
% L' c% n! L& z; Q
: x# m7 O5 V5 V: I! T4 Z+ b/ a( c. E8 L1 L0 t: J
7 r# n9 @) F$ ~7 c% Y
preserve
8 s, u7 ]2 o5 g9 m8 E3 D $ u( v( G/ p' `1 `( x% Z w
sum v5 [aw =avol]
' h" O# q4 Y4 Y5 Q- W 8 t+ a: M3 Z& d8 ]8 e: K
keep if dx240>r(mean)% Q. M: \4 r7 K; [
2 s3 T u# y& K+ w
sum ddy240# B; I) c- T& n0 r3 a, R
3 P! ?! n' y+ z( J5 K2 y6 F0 N
if r(max)>0 {$ L8 c5 T9 V# a" j
4 m; f" B/ X8 @ keep if ddy240>=0
9 i& h8 V. M L7 f% `/ ^1 Z0 {( n 5 ~3 s. A4 u8 M2 v$ b# i2 t
count
1 ^' n0 f4 p/ ?; }' R# O, h( H8 z 8 ~# x2 p9 _) I5 o/ u# r
if r(N)>2 {! U" K, l7 S( Q* W0 w
. m* a0 e! y! Q" { pkexamine dx240 dy240, j$ p! |5 i, E
( q+ g/ F1 `0 _2 v local tempmaxp=r(tomc)
9 _' U8 C2 v3 x) U: R$ Q/ D restore + y* F, n' p# G' _! I
}
1 K/ N0 H" b' z- ]
3 |& y3 J% Q( |4 r6 _* S. H
: W/ n5 G, b4 t7 O else {8 ~, {: ?" I& r* p& R$ s
restore % H2 [ X0 ?% h6 _4 B2 g
di "cannot find maxp"
- x: r& W7 @# n, y; [4 ~ H5 Z ! K" [1 O1 G3 k" g
/ H' L, {9 a i% Q( {# p sum dx240& S/ Q2 M4 k! K; }1 W
local tempmaxp=r(mean)- [5 E$ _8 Q1 T V, N0 w0 c! E
# ~: W/ m$ u# u: V2 q: c
}
- o8 D* f, ?. p3 x ; G+ D4 h4 v: R4 h, H+ H
}
$ Z4 D# d* J. w. z! ^
% f4 N( C" l9 w. f5 I0 S# E6 X else {7 i& Q3 ], C& v! _; H
) _/ h t* \0 _2 r
keep if ddy240>=r(max)
' _0 a: V& h: }. ? G2 Z# }7 b3 D ; {/ E$ r5 C( q4 k# P, \1 @
sum dx240" Y0 ?0 d" k/ m5 ~
! u% g; b; e: L( A7 i
local tempmaxp=r(max)
. I" S' y* D! ^( W* r restore
0 V! @" {# Q% C" k8 W6 X! Z }
0 T2 i6 [2 s, ?6 b0 I
# ^7 Q4 P1 U4 v/ t
8 `( ~: \0 k' u- l 4 e' Z8 R% ] |" C# t' a/ X
1 J2 c, k% m" h gen maxp=`tempmaxp' in 1" J2 X/ J9 b; T& \% m# n1 R
- r4 f8 U7 g4 b! ?' K% I
*240maxp# ^# l2 V( C9 R6 Z5 I0 @% ^
- a$ ~ x I8 M + j* O: X6 H0 J
*-------------ddy240pminp左侧高峰值-----2 _" G" W1 B- b, F: `! u
: b/ f d& J3 C p3 \4 n' X
preserve
# R R7 m; x/ S I 5 ^7 ?6 P2 b" k4 a9 u
keep if dx240<`tempminp'
, h# b/ `* V" A
) b. C/ v, ] L8 a0 b3 r keep if ddy240>0
0 [. N/ t+ g, P! y! x! E ; }9 U0 U6 Q9 o
count
9 D8 p' M& @, q! s7 c/ z7 r3 ]
' P0 L! J) r3 _2 Q if r(N)>2 {
/ ^9 O. E: S) R; [9 E; h, J
* a k) j) w/ u+ J' D0 G" _$ p pkexamine dx240 ddy240$ k# w( \' c$ r7 J) A
) m- ?) n7 i" o5 k: r* Y; g! e local tempminphddy240=r(tomc)
1 n" s% v% m/ H) B restore+ P( `4 L! |1 g/ {+ P9 P
}
- ] n3 h9 g, V5 E8 h
) h% E1 a: d7 _6 V0 t else {. H! S8 V, Z- |9 G4 x; F
restore
9 u; |( ~- P6 e6 r8 P di "cannot find pminphddy240", U7 A2 o/ [. l( R& G8 _- I
2 a( v) D* m8 b( P
5 C5 a% G# k. W9 s0 W8 _& j( x sum dx240
' V- c8 V" J3 }+ _8 f: J9 { local tempminphddy240=r(mean)
! J0 l, t5 s d3 x5 o
, \1 k+ R/ m! t3 u6 o. Z- ~# V% q
/ j; [# J5 L4 R4 r6 l! b }# e7 ^' N% z* V4 @$ G+ j0 E
7 V; j# ]; q( p
' O4 @5 T5 N2 g' {# D
1 ^* B' R. S# _5 }
( T) K/ Q9 x' R' p4 a3 I* Q . w" V% T) p; ]; Q! y
& R& A: J5 a7 b3 N. u. g/ v gen pminphddy240=`tempminphddy240' in 1! y& k" e# X5 `9 ?
: f. B4 E+ g* z/ d
, l: x4 r% d+ T- D! q. y8 j9 J5 d *-------------ddy240pminp右侧低峰值 -----------------
8 `# z! U g& b1 c" m preserve
9 B+ D1 i+ K* b \# b$ \$ O* k
$ U7 Y; ]# Y* w, _ keep if dx240>`tempminp' a8 t4 Z. W! I5 }5 ]
N: N- O9 p2 K( U# t0 \0 t+ F! J keep if dx240<`tempmaxp'2 t. H( U* p- {$ E; i: s/ p: d/ L
- u$ \- V8 v! X1 s$ \3 a keep if ddy240<0
/ T2 n+ X& X6 Q( H( o. I1 j6 [7 J
9 y+ a; `/ _2 _! m a$ n$ w gen temddy240=-ddy240$ D W* f6 ]7 D0 O6 w7 g
3 w$ ~' t% |0 t! C count% h- f' `! F- G, {2 u, i
, j/ w4 b4 D- l7 w/ W
if r(N)>2 {1 f l) G9 d9 h& f: n9 w
9 E: d- H q$ `' g pkexamine dx240 temddy240
$ s+ @4 h( R- g7 w# {+ m# M % F" K0 s _0 {) j( c6 T k
local tempminplddy240=r(tomc)
8 \5 F- S$ ^; }2 R restore8 l2 c" O1 E' Q, I3 b
}6 L4 o# Z+ J* J' Q1 M+ D! Y, y
, @& n+ B7 e0 a' a- F else {
, Q! A3 V6 {; f% R5 {
! ~! t9 J9 ^: [8 _ di "cannot find pminplddy240"
9 l: r1 l& T, U) ]2 u r restore( A. q" W$ a: P6 H' I' {/ S
; o& O' A/ d: O
sum dx240
& j# Y; z; t8 u+ d) I& I" i local tempminplddy240=r(mean)- }+ v7 J) W+ u" |, L; B
- ?9 X# s/ C" ~- m" x8 o
- v" u x; U( f6 h6 y }
8 k9 j# m8 z- A9 I, M7 S 5 k& ~6 n+ b# L$ H9 x
( ], Z8 a% }; d$ U- B" [
; r" Z) o4 E5 a; F - `- y' p2 d9 s9 Z
8 }! n$ \ E6 d9 ~ gen pminplddy240=`tempminplddy240' in 16 M, v" w) }& I: N
5 G- B+ R) `' K3 C *-------------ddy240pmaxp左侧高峰值 -------------------, A+ _. K! K4 k9 W
. g. Q2 p6 m+ s
preserve
! J8 y8 K1 j4 m: b D2 K % [# n2 ~& n; E
keep if dx240>`tempminp'' c$ |) d( l7 d
( X" q3 Y" S3 Y* {: `8 n* p& e) [
keep if dx240<`tempmaxp'
. e ?6 t, Y& m1 ?5 ~1 W * ~1 e a: M$ r# L
keep if ddy240>0
% o+ |' E/ ^# a5 `* |9 ^- [7 \ count0 _$ ~( e+ A/ [5 h' ]& @/ a
' ]/ u* e. J8 N% }) {; ~2 b7 P5 |
if r(N)>2 {
% q7 z* k( ~0 g2 `4 _ , ^8 A8 I/ N! V9 s5 X5 w
pkexamine dx240 ddy240
! t6 o- c9 w A
& `4 x6 b# \: g( b local tempmaxphddy240=r(tomc)
0 G, P( s$ b: U ) B3 V2 E6 D# s: e# ]
restore+ Q! i8 ~$ O6 O
}, i0 a; H2 h/ X" _+ C; ]1 m
9 h' a! w) h2 F6 ~0 y+ X
else {
5 A4 k3 P% b' S0 X! T+ h$ D" j . `9 N4 R! H& R* \3 h3 A$ s
di "cannot find pmaxphddy240"! t* b0 X' T& g" u# d1 B/ k/ g
restore
s" J9 g8 x0 n/ E. Y {' S
5 w- ]5 b5 X: `% `. } sum dx240* `2 ^/ m0 ?% K, Y" B, I
local tempmaxphddy240=r(mean) 1 P+ ~$ S8 S2 s9 G
# t/ j9 t" @# j$ V4 k* g/ w- r2 N
( T2 m3 |3 I+ Y$ j
}
, X4 \2 N* v' B - L# a7 {, o1 u& m9 s
' W0 Z4 P1 p/ T& B( F4 y
2 }* l3 o0 A9 C- f
& D% e4 B# r; T+ T1 m. W4 ]) t # l6 l# G4 x" Z3 q
) W7 h L, j" _2 E6 n- O+ s6 J0 p gen pmaxphddy240=`tempmaxphddy240' in 1! y: N9 a+ ~, u+ b
, n8 {/ h1 _1 t/ x6 i$ {4 `
7 w. P/ m4 y, g1 _5 |% h *-------------ddy240pmaxp右侧低峰值 -------------------* w/ v$ \3 R2 u, H; L
6 h7 O6 r. H9 j P; C preserve
`( U: _/ B1 f4 |- I7 ^+ K
# {- A- I2 M, B9 ~4 R. b keep if dx240>`tempmaxp'
# `3 S4 M* L( G8 K
; N, v8 o# a( p: M" p gen temddy240=-ddy2405 f1 Q! h0 V$ e+ v( U9 y
, ?5 B% a+ n: J" V1 c: l$ l- z keep if temddy240>0
7 \5 c4 c4 A( _7 Z; y
1 R7 l3 f. u# l" K count6 `. @8 F$ M, I( ]' Q; t
8 S6 X4 \$ I" Y1 O: M# u* u if r(N)>2 {
0 }% e3 b5 `$ A. o4 M. L
1 c0 O2 q& v7 @8 A5 j+ P: \ pkexamine dx240 temddy240
; R7 B$ z3 W9 k O4 n/ z- A
0 S& B. \- o/ g9 Q local tempmaxplddy240=r(tomc)
5 z/ u5 D0 F- `# }) Q, E4 V restore
: M- R: _9 F! ~+ d& z4 L, i }6 s5 K$ c, p; C8 _3 @
$ k) J; [2 F8 k W7 r9 v else {" S5 v6 e/ e$ P2 F
restore% e/ Y( V2 u# Q3 x: \3 `
di "cannot find pmaxlhddy240"
- ^, Q3 ?1 G& [, z+ K4 U
1 A3 U f. U- p$ A9 x
' d, X$ |- R1 w+ b" R sum dx240
8 o1 L. T, |1 U2 j local tempmaxplddy240=r(mean) in 1* a# d% Z" r- d
; @% i6 u* z: p D0 ?1 J
" b ?8 w2 {" k }
d. P0 P* ^0 T; b! m / l8 P9 q. i- S: k# y
2 F0 m& t% Y0 m9 Y- \$ \" Q
. c& K, L! w3 @) R( {4 |
! m2 {, Y- H8 j* X" E* h
~6 o) j1 |% i1 j6 } I1 n
! v* W2 ~! a! T' P4 p- z gen pmaxplddy240=`tempmaxphddy240' in 1- x/ F! g% ?0 P& e( W
# G; S: N( K! p/ s *-------------------------------------
% l: i9 l1 v }* c; x, x' _
9 ?1 @( q8 S5 Q# Q# F7 ` gen price5d=v5 in 1/20/ `) D! X' w& I4 W6 s& t7 ^- z! I' J
5 |3 L+ }: Y% o. b# a" c7 k
gen price5yy=_n in 1/20
! w$ f3 w) k9 |! f, r
0 s2 b. C7 ], N+ e& L; q gen price5y=price5yy*(dy240max-dy240min)/20
7 \ x5 \3 B. C5 q& k4 D ~" U: ?# b V W% e9 h* @; `
*price5y &price5d: g! O( ]6 f- p8 P+ }
8 g" C+ {4 ]2 Q& _3 \5 ~ gen priceny=price5y in 1$ R3 g4 _6 X1 }9 P8 A
2 J) v' p' k3 y% Z( h gen pricen=v5 in 1 h3 ~$ W( H6 U7 j/ Q" `4 H
2 r# Z1 f% [6 e 2 m8 G4 w& j! m0 j& X0 V
*priceny &pricen
; z( S% W. `6 ^2 C2 z
7 U, j% v9 d5 v ! t7 E+ \' `% P) o
*-------------------------graph------------------
! X0 a6 k, W( m) U7 K( J7 O# ?
& m, m( U" p. B" B& 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 W Y4 ]1 [% Y; \4 Y
2 ]+ d6 R Y) X% }* ---------可选项目----------------------
# Y# q. H# R" z: x8 i6 X" U% X6 D$ I7 S, R
}$ |# i( a, ?* b
end
7 ^8 O! g- w7 V2 X" B8 x |
|