|
|
改了一下,这次运算应该没啥问题了8 R. b( r* h: B6 J* i
* @" F2 W0 ~ Y4 u
5 ~+ b# v/ w5 [/ u" p7 Dcapture program drop hello
; T) Y/ y1 S7 H: t+ e
& b+ r) e( M5 K7 {0 Zprogram hello6 K0 W! B/ b0 H" k
@0 y9 ~9 i1 N
quietly {2 o5 P5 O C* i+ r9 J% |# b
$ x% }" w- U4 F- \
clear6 C {9 [% R$ t7 L! O) }4 q
9 d" s7 u+ l1 R; [- B
cd e:\finance\stock\20110101\source5 P5 q" j0 S8 ?0 t1 O
' R; {0 ]4 C; y, O$ @9 F& G: \+ l
insheet using `1'.txt: ?! D2 |+ E1 B4 g
# A! V0 @- c5 J6 ^
keep if v5>0
3 Z* ], D4 Z2 }5 P. o& G
% d. I: z# d5 j3 m) _8 f$ c gen vt=_n
. ?% N3 G3 R# ^
( G2 n4 C9 S1 r* N/ G8 j k tsset vt: D8 v4 s3 v. G1 w6 I
/ l% X; }, ]+ x) I+ x, b; q% m
gen zf=D1.v5
9 `9 }/ S3 m+ [, Z/ k/ K* N8 ]7 _- N" w8 J
gsort -v1
& W: f' Q7 ^3 W1 }" W, {, X
& M! H0 e* F# c) J _ gen avol=v7/v5; g8 Y; {! ?# r# Z6 B; ^
7 T" X0 l! h4 E. l1 V$ M keep if avol>0+ T% [& K# G b! o1 Q% v" q
% e/ q2 S! ~$ {- g" F% p3 C, w C drop vt
9 Y+ P+ t! D' Q
3 L* ~, W; m8 h& T3 \( _: o9 u gen vt=_n
' Q" P d8 s7 w% e. n * I1 \7 ], J3 r! ~( B- \0 B) D, D. C
tsset vt
' e$ k$ {" @1 K& Y7 P: v- V/ W
) _5 U& N# S" t sum v5 [aw =avol]
% \8 c C) u0 W& r1 S% a2 [
7 W6 p5 d' F; R0 i) j% B S gen amean=r(mean) in 1) H) \0 ]% q" m- B% f# d! d5 ~, F
- ]3 W. X* F" B. y4 J! h: V
* 总加权平均值 amean, c0 } G, h1 l! e) K
( \+ }) c K% U! K+ B
* f6 O$ \) q/ t2 Y) l6 b1 H
keep in 1/240" Q4 \# j# u% [6 k9 |" U- N6 S* I
* T7 H6 _/ S- E, t
sum v5 [aw =avol]. S9 u6 n$ ^- O& |& J6 ]
0 Y8 K4 a$ a4 t gen mean240=r(mean) in 1, C- [0 t1 R; n2 G
3 g9 [* N" L3 V! m% w. E0 q
*240加权平均值 mean240
" {+ H6 D w9 q& O
: E% h( h! q# @; r set obs 500 6 j) F& R( G3 h5 ~% `
5 s; b' s' j. ~
kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph% f: T' `% f, S; O. Y
1 h9 m( W7 {$ t$ h7 S
*240 kdensity(dx240 dy240)
) N. {( ?: } V7 V4 E0 H, }& `% W3 g ) p! p/ R0 e; @8 U& v7 v9 V
sum dy240
# y9 \2 B0 M, h; { ' y8 @5 L( g5 O2 }5 M
gen yxis=r(max) in 1+ V. s5 S( D" E( j" T6 |1 L
3 v) @) H# M' a9 f) Y9 M. M
gen yxis2=yxis/2, D( E- w1 T B+ n* f! w
' {7 q6 o7 R4 c% M8 [; ] *yxis& N# M; L3 D4 e. P' V
* N% f8 m m4 o# N- o4 Z( V
gen dy240max=r(max). M3 F) P5 C% z" b, k
8 ^3 |7 P, k$ b2 I
gen dy240minp=r(min). M; a5 T) J6 w/ L, {0 U
1 Z1 k) o6 |& C R gen vtt=_n; w4 ~( ^( x+ U, v
6 G/ k' a8 K) E/ k5 A, A* `
tsset vtt
( z2 d# C* L, g d7 L+ H
6 U g, L3 m' _7 k gen ddy240=D1.dy240/D1.dx240
8 t& O/ B* I' b) X' F2 q
5 r4 \' T' a3 p, d9 s& W7 r# z, i sum ddy240
/ q1 @* v; J. T ) _) n! w+ ?! G/ F. J& r8 J
gen ddy240max=r(max)
- B7 V- X7 o! Z" n, ? / P$ W: L& j! _; W( l4 \
gen ddy240min=r(min)
* }5 F' I7 P2 k4 P" `
% d* \4 U/ ?3 w gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)
3 |# E* y/ P( Z0 `: g' g
* I9 s1 A |0 ]. e' R sum ddy240g: C/ a0 s) @3 Y! G5 `6 a
2 U) I# q, Z5 F! a0 U- e' d" Y% O! [( ?
gen yxis3=r(min) in 1/ ], c! C/ ~* R5 s9 K
# K, S4 ^! v: T' Z; g4 i& O: p gen yxis4=0 in 1
* o D- ~# f9 x : p- g t& C9 h; n* q/ ~" @9 h
*ddy240g * X: d, b1 R Y. ]0 L
' X X. |; f& L- U4 Q" g
' T5 w# j: L! H! j6 f/ |" [ preserve % q* R/ @2 |( F5 Q$ j: O
1 m' i/ S, N3 j, e sum v5 [aw =avol]
3 J5 _+ M! s2 X4 D( W6 W) X
0 p) K e6 ^! W. J6 |5 d( x keep if dx240<r(mean)- E2 H0 y5 x& J# V: M! Z- E
* _5 b4 A3 j- {3 l
sum ddy240
3 s2 A7 @6 v8 }& X
6 N8 j/ K7 F: ]8 S( b) _# f* X if r(min)<0 {
: r- p- c; b5 N" ?$ K
9 W: `0 }% q% i3 g+ B8 u! @/ f4 ^ keep if ddy240<=02 R5 j$ q0 K5 u0 \
+ s4 q; c* j' L count
\( ^9 X+ M- W* M" O" s/ y9 @
* a+ A; o6 Y) s* a8 D' A if r(N)>2 {
/ \3 ^0 g5 ?0 x 1 C& H% Z w& R. r* K2 E5 Y9 I
pkexamine dx240 dy240: w/ `; z/ y# K1 a9 t+ V7 l% Z! z) T
. o2 }' e4 @ h4 U- }7 b7 h' j local tempminp=r(tomc)
' P8 @* h4 W: k. D, U# ~% e( J% ~ restore 9 ] |( u- \+ r( X
}
7 v) G3 r1 `: l, h6 i% u* i - l: d, W* \) x9 T, ]
else {
8 ^% ~# u! W- b" Q7 O+ N' x! w% _
( y9 z1 [0 v t+ `$ A: g G di "cannot find minp"- b. j4 `+ j' L
! l C4 n& O- P& m* S# _% i restore
4 x, l, \9 v: A! a5 [ sum dx240* e* e! `. \3 G) e+ v5 S9 `
local tempminp=r(mean)
9 c' J' b* n' Y/ ^2 c/ b 3 m6 l/ O9 v4 s
}
9 N. ^) L$ p- u& v; s }
( d: L6 v- h. V% v, _ else {4 u* k1 g; p1 M/ e# x- `
4 q: a: n' B9 |3 \) R. d9 p% V5 ^& }
keep if ddy240<=r(min)
& w6 R; L# ^7 g# h: U
4 ]0 g) w( T9 l* k sum dx240
' K- M5 g5 Y! M3 h2 t# }/ g
) ~1 f! @( e2 b2 S, Y local tempminp=r(min)
- s% w% M$ t3 ~( B3 Q restore ! f# i S9 X2 ~7 K
}( S9 E) ~4 s" M X( P
) V* M |+ Z/ Z1 q* \! k) T
1 n }$ c+ a$ y7 K9 j: V5 S+ ~4 T7 \/ [- f5 O6 M5 R6 u
gen minp=`tempminp' in 1
( h# M# c% s) Q9 G *240 minp1 p+ J' u m) f! A& T
* v9 Y' h2 l V
7 [0 R J9 t) w
! X8 p% N# \1 y8 z% }3 N% K preserve N# i6 Y7 Y9 S" @# B
1 U/ b9 i% ^7 V5 C
sum v5 [aw =avol] r1 g+ U! I# c; [2 N
g3 _! ^5 i: o* [7 b2 X
keep if dx240>r(mean)
q% h$ f6 u3 d+ z# S
" R/ @+ M8 i; p3 d6 s sum ddy240
# o+ @( m4 B% N $ i9 C( B: }! A- R! `
if r(max)>0 {5 W) S) o3 e$ K1 E
8 _$ I. U$ j4 f9 }/ Y/ I) t keep if ddy240>=0
6 W0 g+ Y# Q# s' L . B$ h8 f9 w* u# K
count
* H& y. b5 T; L( ]+ x; j+ M4 v- A . B2 I% z# D! w9 n' Q1 _( c# M
if r(N)>2 {3 o6 D4 R/ N6 Q4 m
5 L/ B- q1 G3 |5 m4 `5 \2 e
pkexamine dx240 dy240
. B3 N' b3 W* O( ^
|1 p% ?# D3 o+ y8 s' K local tempmaxp=r(tomc)
- D4 T# X+ M5 [ Z6 B restore
% D$ O Z s, O }
- Z( n9 a6 Y: p3 s , b7 M6 T' O2 O8 W
5 T N3 c3 T9 e0 `# E: s: _
else {$ Q* k& R# N6 p" N- q6 j" V5 e( }* `
restore : [, Y) v7 M5 t# i" S2 O' }! F: B
di "cannot find maxp"
! U. [- J D9 q* f
7 c5 V8 k( P( \/ f( b1 [5 Z. I
+ Q; M# R4 S2 T V+ m" o sum dx2407 S, _; ~+ h" D- v. w% @/ Z
local tempmaxp=r(mean)
7 P3 }' `1 V) V0 a2 ]; H' a# u , I" Z# T. \# [; H6 j3 S
}, Z) E8 s! l% e2 x
: g; k/ C/ z4 C7 l9 E) h* V2 W
}
* {8 r% w3 U- C" T + c9 q s7 ~" t7 D8 L6 q0 F0 e) r
else {
- |: `! ~- l2 b& r $ y9 r9 J$ K" B$ K
keep if ddy240>=r(max)
6 g7 n6 S4 v" ^ 2 `6 c! N/ r7 ]4 |
sum dx240
4 \8 t- d6 K' g) c6 U2 _5 G : X" m" p* l1 T, M# a
local tempmaxp=r(max)
* N/ u2 l( t, N- v3 Y! G8 f+ G4 V restore ' _$ r. o' W6 x
}
& Z9 B9 o4 t2 B7 K& W \5 l/ g2 c1 e* V8 _2 ~/ e0 P
- `% t$ f, ~! }* F8 c# g
& K$ y* M& U' w3 y" t
3 S; @7 x Q1 r( Q. ?; r gen maxp=`tempmaxp' in 1
" X. S. y: s6 W8 `2 ~
8 J# v* I7 Q1 P* s6 q# W *240maxp6 C/ O7 q) ?6 g" W. Z
* I* G" q8 `- d, Z. l" H
7 Y( s! @" B3 R# a *-------------ddy240pminp左侧高峰值-----
* f, F+ d' {: m7 q0 F( y
) O0 u. y6 C( k& s; ?! d- x preserve
* H$ ?+ Z1 w1 B' w4 W0 u : P7 y* |3 J3 B- \
keep if dx240<`tempminp'- h$ X' ^1 j7 l& Y
, d; X% x# c: L! d" S0 G: n
keep if ddy240>0
4 X. R5 ^4 ^' Z Y; l. R$ W8 ~1 B+ ~ s : l3 ]8 I4 U/ W& F6 B. v0 n
count9 t% b/ }8 D- n4 w
& [, R( W. d$ q7 ^
if r(N)>2 {$ D* f+ s- f! D6 R1 I
# Z6 M; i7 ?! G$ L v- J pkexamine dx240 ddy2405 \0 D% X6 E7 _: m, D# F T' `- v
" s3 F6 M+ z9 j t/ M
local tempminphddy240=r(tomc)
+ c0 a1 P! M+ O% r restore
2 e+ ~0 J: X) A0 K) l2 U0 n/ z }& J8 {3 z! O& y2 t5 k, G4 t% S
& W P7 _( U' t0 X
else {
! F- t2 t& s/ G8 \. T1 `3 b restore ' |0 T$ F: q, }8 n m+ w
di "cannot find pminphddy240"5 S2 T" u3 @2 c# M, T6 [7 h, S
" y( O& e O) w6 @/ n, D
0 }1 S% f, ]( |4 m! f2 ] sum dx240
# R6 S+ \& e( g _ local tempminphddy240=r(mean)
) s, A U. L% ^; g- t 8 C: X# z. K8 X+ ^. R, y5 E: R+ h
" m+ H; X7 K: J( n: `+ v
}, S$ ^" Y/ o; k
$ u8 ~ D4 E7 B6 ^( K( j; t& d" y3 U' w
7 i1 Q; g: @6 i* o$ {
& O8 x# n- |1 ]# ~3 t" i " q8 q: d, u1 |8 w6 F
1 G& B+ n/ y7 H" t s
3 X( P' a, P( C1 H gen pminphddy240=`tempminphddy240' in 1
9 t' R% f+ X- ]
( H9 G( {0 [* q; p 8 ~( y+ @7 ]) i7 O( w5 t
*-------------ddy240pminp右侧低峰值 -----------------
: _. o* I9 x( y preserve % M% q) M& A$ G/ x
* e4 o: a" Z7 I" T- i8 G2 J
keep if dx240>`tempminp'1 }4 f z( m, ?& v0 C O* K; q
6 A, X3 n+ B# m: C, H2 a
keep if dx240<`tempmaxp'
7 j- e6 t0 s% z- Y- K6 ?7 w8 o }7 m - Q& U5 [2 a- i
keep if ddy240<0! Y/ Z" s4 g+ I) k. B
; q. ?' \8 n( q+ _3 q1 M- Q gen temddy240=-ddy2407 T d# S! |6 A( A. E* x# y
3 j! f4 q ~& f' f5 P6 E$ |
count
- W) ~+ A" {5 ^% g
' ^4 U G+ n9 L& T if r(N)>2 {
- _) M' H! ]/ m7 h5 C1 o 5 X! V. i0 [7 b
pkexamine dx240 temddy240: Q9 v6 U2 }' x1 n) L, H
7 v% p( Q S$ L/ X* I) x) e
local tempminplddy240=r(tomc)
7 p# ?" ]% x" v1 D) U0 R restore9 P9 N4 n1 @& i5 `0 E
}" c8 Q9 O# E9 ]% ~
" ^1 S. E" u% z# ~( ]
else {& K1 k1 V+ R& C7 ]9 r P
" _+ t& N( j! r) N+ a, h4 V; h: S
di "cannot find pminplddy240"2 t k3 E, C |
restore9 n) a, ]# c+ P' v( p% i
- |. j3 l7 p: s. x5 S
sum dx240
8 v$ G* ~- [, H+ _ local tempminplddy240=r(mean)
4 ~& j# G4 y; c$ Y( Y" d
) K1 N& q7 H; O! b, f 1 V. a$ A- F- M0 w! ]# N6 C
}+ d: e: e `( S+ ?) Z4 s
9 f6 Q% Y6 [) H1 f$ w( B5 c 8 ?/ T6 k" T7 B9 s' p) `2 B8 j
0 `9 z! I: l& C' R* I3 ?
. E# n+ X# b3 D: T# D3 \/ n ( ]$ o* r, Q! n) s: \& Q
gen pminplddy240=`tempminplddy240' in 15 h& v) y3 P& {; z# w
/ s8 P5 |$ Y8 H- t/ @8 v: H
*-------------ddy240pmaxp左侧高峰值 -------------------
) g U; R+ K2 a* Y# t! k* H x : ]3 f) G3 i& N. q. o% l. T9 s4 s
preserve ) ?* {! q8 Z3 {4 D' ?" b4 u# V3 P
?, C& {1 f) N5 C+ P keep if dx240>`tempminp' W$ l! o: y- J k8 K' o5 j. A) }/ a
$ E3 ?, N* ]. X7 k( r0 t keep if dx240<`tempmaxp'
* D4 a% [( w9 f, b: g! i2 } $ J1 Q! T& l7 e* c/ c
keep if ddy240>0
, m& \. L* g( n! w) g count
! _% Y: G& }9 w# z7 l' s$ q' H
0 e2 c( i! H4 q p7 B' \2 M6 ^ if r(N)>2 {
# \$ X' j5 {$ Z; h9 S# b$ l5 P- M- O3 p3 \
9 A w/ _; x N* n/ A3 u9 A8 [ pkexamine dx240 ddy2405 ^3 P9 s$ D% j$ `9 q
) f7 s5 U, y! ^" \+ H local tempmaxphddy240=r(tomc)
8 b; s. `) D/ c; F5 V J3 @ - p0 m8 w$ O7 y: ~! @" ^) t
restore
8 Z! X8 Z4 a) R4 w1 G# o7 m- t }
5 j" e& d& v0 z' P* X3 P
& ~. I- O/ g s9 t" x: H0 w else {
1 C2 ~( g& w' I! E4 `' w 3 L7 o- d3 ~- x' I4 E
di "cannot find pmaxphddy240"* R9 T4 U7 c6 e. G R
restore/ p+ m8 |* k X* A; e7 {7 \: @6 m
8 m, ^3 p/ \- i
sum dx240
1 v" i* a) c; v: T local tempmaxphddy240=r(mean) # D, R" Q/ E% w- E* _( j7 R& z
/ N4 s' J, D6 A3 s9 Z
& V, p6 y1 l* a! J. z5 j( v [( K; k
}
, h9 H7 v) W* ?; y. T. M T) s4 R# L; a
" Y: | [) G8 c1 L+ }6 Y
8 Q, u3 S- _! a" I
F! m; F5 ~& }+ a" S% [, O5 } $ {4 X! i/ R$ n) U4 F5 g( q
* Z H$ l/ Q& w- K$ y% J! t3 Z gen pmaxphddy240=`tempmaxphddy240' in 1, L) O7 d; ^# O( q! y: M1 e9 r3 f1 E
, Y6 e: S6 U7 J, E2 m) I# i" ?
! z7 @+ u; Z) e1 ^# G# v *-------------ddy240pmaxp右侧低峰值 -------------------/ I1 k$ G8 R) L9 Z5 L2 R% T3 G* Z
/ f) V& D1 J; R3 \ W! r preserve
; m( e* a) l+ G 4 b/ d- Z: i2 ?
keep if dx240>`tempmaxp'6 U) R6 F" \% N, g5 |6 h
( P1 r, L0 C: p* w( r gen temddy240=-ddy240
. e- }& }' e5 E7 ?+ `6 b) z7 F
) n* }3 z( ]: T5 g8 m0 O keep if temddy240>0; h8 t: B2 P3 n+ s% q1 _! W
2 t5 ^. F5 u. z, ]2 y$ G
count: Q+ k9 h; j" C9 E# A# B
/ _% V5 R5 ]4 {& q7 z" w if r(N)>2 {
' t; Z! o7 f2 S & T- r3 ]5 A6 q2 w S9 u
pkexamine dx240 temddy240& C/ o# Z& k7 G! L( m! J; G S
% R: o% s% b! d# @
local tempmaxplddy240=r(tomc)
; J1 ]8 P, i: f$ i( w restore9 M# F/ O) e' {& r) }/ L+ Q5 ]
}, f* u" V- q$ u/ l1 q) @- ]" E
; l( a, H- p6 K5 R$ i
else {( r0 m n6 |) F( y2 h
restore
& T& Y9 j+ R, N8 ~6 a di "cannot find pmaxlhddy240"2 E8 y6 q' Z) T% v6 G( c, ` H1 _8 k
7 Z- J" S( b) j8 Z/ J' H% X 2 `3 c4 [5 Z2 O2 @$ \& |9 R, ]4 i
sum dx240
6 _5 e0 X2 {: @. M1 N9 p, D, a local tempmaxplddy240=r(mean) in 1- l! h: A9 ^# X+ Y8 ^ g" ]5 J
, I$ G, i, }2 L& Y1 Z' x/ w N
) e* u% }7 _9 i Q' f }
, S. ~8 U6 R. T9 w" D
0 r% y( W- y$ o: ]) x ' S4 `" o7 O. r6 Y
1 U1 Y% ]: m% B
5 T. n( C; q& E0 g+ O1 G 3 v0 f# S, I% ~) w k+ J S. t. ]
: S: }' |+ ?4 a! M5 Q) w: C gen pmaxplddy240=`tempmaxphddy240' in 18 L* y( p# w( u& f6 Q s
7 H- |3 _, J! m7 \' O4 R: _# K
*-------------------------------------+ z3 B7 g0 z4 H# e* d) R4 m3 x
+ ^2 P3 M& a$ [% z# Y9 Q( L" Y
gen price5d=v5 in 1/20) k. s8 N- |3 [. c* _3 ]* p
) d, i3 k4 I0 J) g gen price5yy=_n in 1/20# U% g$ n6 G! v9 l. {; Q! g* c
! A) F. s5 J" Q, `% o' R, O) D gen price5y=price5yy*(dy240max-dy240min)/20
! I2 ?9 l3 S- e9 U( T k 2 c3 E9 N. Q4 w4 X* k0 s
*price5y &price5d
X4 d; z- P, v+ Z2 i$ U' C ' {9 l B$ i% k( M, G! e
gen priceny=price5y in 1( S W' H1 B% e- ]# Y
; ^7 l) L/ V' s* r& h gen pricen=v5 in 1, S+ M4 _5 p4 Q5 |
# v) g( J, J) R6 Q2 Z' O$ ? F5 ?
' `9 ]" m. p" a+ ?7 I
*priceny &pricen
9 g4 [6 x9 r* N" ]$ o; O' c $ L+ |( q9 A3 X6 R) C7 j
1 G- x5 V/ Z4 c, t' \' h; o *-------------------------graph------------------# i4 K9 a6 _0 H7 N, b
4 `7 p. F7 z+ Y$ C, Z m* A9 m
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)- a/ Z# y+ E' v3 a3 B6 P
% M$ G$ ?, _) J: o) O7 h* ---------可选项目----------------------
$ } R2 ^) N9 e: L, {- ]* {( p J" J% f3 m2 r$ q' F5 V/ b' e
}5 a' ]6 J2 C4 [1 X9 r7 t: I; n
end% ]( |) N+ O4 J2 {
|
|