|
|
改了一下,这次运算应该没啥问题了
& u0 V+ N- @# _' S% G7 d3 j7 m; v! U/ b+ \" Q
- G5 |- c" _7 L) Ycapture program drop hello% a9 u4 Y% U0 K* W+ t8 B3 n% H
# z, a3 y0 i& M& Cprogram hello1 O8 _( K, C" G! y
2 D/ h# I c7 ~& ~
quietly {
5 G! \5 ?4 ?8 c7 l8 Z0 m5 p' s m$ S* V8 v# u3 o1 O, }
clear* n9 m; e! h* |; a' w2 D2 L/ g% k2 d
# j7 r4 `! F& O- H4 Y1 {% [5 K
cd e:\finance\stock\20110101\source% g7 R9 | N, l) d% \, w
$ F4 g/ W3 b4 z8 D3 D
insheet using `1'.txt
* q8 K9 F5 z$ V+ n# p \3 j3 ]% `8 j* _! b4 b+ S R
keep if v5>0+ h) o$ v, I3 T
( j2 V- c/ ^0 |( `. g gen vt=_n$ O6 G% g% e" o. j; `: q9 R
7 j" z# ]' N! F/ e' X2 b
tsset vt4 G' I4 ^* k s0 f( ?, Z# M6 g
; O4 f/ X3 g+ @1 U
gen zf=D1.v5
0 X6 ~1 f* h7 ?, ^' R: t# b4 p% ?
* G8 |! ]5 t+ N' Z gsort -v16 j8 W: f S' q) M) h( `8 x+ A2 d
9 M7 }) S! b" v; n; D) F
gen avol=v7/v5
$ c) l$ i$ W* q- E# ~" z$ u % I: Z; D0 ]0 W I# a
keep if avol>0/ r- U7 a! Y$ \" b$ N
- T1 i' ?5 T- Y+ m) S$ n0 m
drop vt
5 D* w b1 `9 F0 t2 z# _
. ~ ]) M3 G9 U gen vt=_n
0 ^& A! D+ }8 y( Q3 } + a V& R/ @$ U
tsset vt
: u0 G, a+ a- W4 Y* k; c
8 z! U- @' X1 t9 Q# o9 d0 h sum v5 [aw =avol]) r# F, s: V. ^, W
% v, C% n0 b3 l; M+ u
gen amean=r(mean) in 1# ?5 D0 w. N ^1 w
$ ^; \3 D4 ^1 {; E0 A, X! `6 R! y- Y * 总加权平均值 amean0 t# H5 M- ?9 U# Z
4 _8 Z V. ?# W0 v
, h& \ b5 U" U7 z5 p keep in 1/240
- `8 q4 `! E! Z' E3 ^
0 s. F3 f- c# T$ t sum v5 [aw =avol]
# N2 _7 g: W6 j' ^9 c' A. j5 v" O* b% }% J" Z& j7 g7 i
gen mean240=r(mean) in 13 \* ]8 m& k! B: _4 o
; C+ W4 }# B2 d7 x# x+ @7 P( ^
*240加权平均值 mean2403 ^1 n8 i3 z m9 o
4 J6 h9 I/ }1 k8 U3 z
set obs 500
8 W% T1 V) L3 O3 i3 Z6 S " z. U; g) O, P+ L9 y. F! ]
kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph
L; F1 S4 N: {" t 4 q1 N* h% ?8 U+ D N0 X! r2 a$ d
*240 kdensity(dx240 dy240) o5 T7 A5 D# y z1 n1 e2 k$ C" ?0 r2 U
0 E/ |) f5 l$ x$ E( o- f0 p
sum dy240
7 z T/ @1 M9 i8 U8 p D
. J7 L; B) j) s+ R/ X# |) k& f gen yxis=r(max) in 1' g ^/ k/ @# A* x3 H* U
9 W1 I/ |% V) X$ G* s" C7 ?# ] gen yxis2=yxis/22 k H5 C! G" _/ |1 B. A" G
y. |0 V2 N D0 S) {! [
*yxis/ B! ^5 N) j$ x" ^7 U. E
2 J2 @8 ]7 I; [ gen dy240max=r(max)
0 u0 p8 m+ H/ e. ? : C, J F' s' H! ?) x5 S% \
gen dy240minp=r(min)
: r- v/ s4 q2 E; a" a' W% [ # f+ R/ G$ Q0 d" i4 M
gen vtt=_n
; i" W( S& w: l4 q
0 a2 S ~6 F" R; N) \7 z. p tsset vtt) J5 M2 [1 v# T
" F6 @: n. s; U# }( n: K% k" S: V
gen ddy240=D1.dy240/D1.dx240* C0 M5 O5 K% r: X4 q( i
0 u0 a- N7 Y1 S& b5 F sum ddy240 V; p4 `+ W9 k% b+ j; G& c
* w( ~+ ?' d5 K/ Z4 U- n gen ddy240max=r(max)& p' ]; W& r+ P1 K# K! f
' w/ H8 F3 Y+ y$ A$ U7 T& f; G gen ddy240min=r(min)% ]2 M5 e$ w, n0 \% ] H: B
# b( \% @. Z1 z" t3 u- _0 q4 t% i
gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)+ Z+ G4 v& l; |: d5 y7 Y
0 Q+ q( ^8 c# @" f& K! G
sum ddy240g
! Q# e1 R, i4 i) ?; `) ?
4 @. ?! z& c) P gen yxis3=r(min) in 16 ?1 W* C( E$ S2 q
9 W: v" o D5 D6 U: M2 a
gen yxis4=0 in 1/ T; p2 l. f7 Z# Q" h
6 b! ?; l3 F' g: A. @8 t
*ddy240g
2 M% C3 d% o# P& D& Z+ \ * `' s' H5 `# ^$ `$ `
: k/ k. T- I8 u1 K) ?
preserve ' h8 {5 H2 V5 | L! a" W; K
1 V7 D9 }8 Q" P sum v5 [aw =avol]
S7 @- D& Y$ T3 a- t. g# T
- a* K J5 O, F+ ` keep if dx240<r(mean)
! ^: |1 l, b" D% D) L
. @+ i2 e- p. U M sum ddy240
) h+ b/ \& C0 Z3 j5 _- v* F - r: s9 n% `( O
if r(min)<0 {
# w- `, J: Y7 E6 e5 G 5 j2 [# H7 X- R8 [
keep if ddy240<=0, X) V7 ~. ^9 b% _+ _) t
5 I1 F( c/ w1 K n
count! ~4 g8 @4 O9 f% j! l
3 }$ ~# b3 A& c6 v8 r. a if r(N)>2 {# m8 u/ o, X( ]# K
) z; V4 y( a0 s! `. X* | pkexamine dx240 dy2406 v$ }8 }" \; L9 X% Z; V
; m' L7 S8 K; P: S( N4 p
local tempminp=r(tomc)
0 E) [* n: @1 } A+ ]: o. Q restore
4 \$ T) e/ C& U' R }
0 W3 h8 D0 Q2 }4 j- X" I q( z ! g( q: C2 Y( w- p Z8 R
else {4 y6 d p5 B4 C3 V. Q- y: G
W Y3 ]6 L3 q& p di "cannot find minp" }4 p3 ]5 C$ B3 m) Q5 y
6 D7 k* D \' @" F! y
restore " {8 b( \) M7 e& A9 }
sum dx2400 m! R0 G/ ?- |+ J
local tempminp=r(mean)
' l4 M' H) w3 ~ # S6 X3 T- _8 }$ o
}
9 i6 u0 Q+ L4 S# g* \, Y. g }; s7 i9 z* Z: H
else {
7 ]6 q1 i: f6 r% l 1 o8 k: y" A# ]) ]
keep if ddy240<=r(min)
; I) I0 j: `2 i( {2 U/ } & R) p6 @% h2 Z3 D, u0 A
sum dx240
1 o/ d% K5 R; ^+ O( n6 ]
, Q0 \* V8 V, j8 ? local tempminp=r(min)% U6 x! n3 a- V# J, ]
restore ; ]7 v1 K p* _. ?' J4 ]9 {2 ^
}% Z6 ^: b# q7 w9 m/ r
2 e8 ?: e& T4 r& f+ g T
7 N o6 n L0 d% l4 K1 ]7 B
: \: o1 t- g2 D$ X, `; P e4 i8 k
gen minp=`tempminp' in 16 ~. x, _" ]& A5 M
*240 minp; z2 K n J: y. Z; }+ j j
) |3 [! K+ i# v$ n2 A d' o2 O, v5 u( b7 S
: d% w* ?( j; Z9 O
preserve
5 Y _8 ~* U$ K3 Q% ?0 I8 [" K# t ; w9 v3 ?/ J$ k9 X" C Y
sum v5 [aw =avol]( T7 O0 F7 ]8 w6 s' ~4 P3 O
9 a; B; Q9 g$ D
keep if dx240>r(mean)9 f" U9 N& l4 D. _. t
, g, I. i% }5 y$ H k4 K. V sum ddy240
9 w4 a/ Z! l9 q9 K
1 S; \8 c( p: T& a( L c if r(max)>0 {
! ?$ [: V+ T3 @1 o , r' n5 ^6 W, V3 F! z5 |: c
keep if ddy240>=0' \, R* {( g- b6 ^" h/ B- I# l5 m
. p* T F" k3 Z! h) s7 y
count) l$ B8 f3 `& ?1 ]: K' T; ?9 P
8 s3 |1 S4 G# N* B6 G! d" B
if r(N)>2 {
+ I% p% j+ p8 ~, t7 P, a) q5 C & e( [+ s/ \) ~
pkexamine dx240 dy240) m& u0 Z* J! M6 r" ^; a
4 Z2 }7 `1 m. b. A9 I( ]# G local tempmaxp=r(tomc)
% L; L, o( P, |2 L) f restore
2 m# a3 c: |: t, L3 B }, `0 Y6 f; ?! v& f; f
3 S8 a' `, Y2 K- \ 1 r, `1 [& a! P+ Z/ k2 J2 W
else {
1 S7 M9 @5 g1 X/ W4 d restore
9 i3 U+ i! f/ b4 }: p& m di "cannot find maxp"
# ^) c$ q( N. x% l4 ]* | 0 \1 `/ g6 a" `; k$ o
5 o0 D- {+ W9 B$ C1 }( a sum dx240
. s5 w8 U. D# V4 u' d local tempmaxp=r(mean)) H$ l# Y& h2 ] Z+ C
1 t) e4 t! t. S% [6 m6 ` }
& F' N* ?/ Z( A9 P7 U ) ~3 A) n2 C' Q2 u" @+ o
}" S$ D! L# J" p2 u9 \; z' A1 E
4 A+ }4 b1 [6 w8 i# n. }* @1 P
else {
( w3 B+ g( R9 h$ e; @) X: e8 @
a4 _* y; f4 z" K; J keep if ddy240>=r(max)6 j( q z% l: v
" v1 K* e7 A' p9 p9 v; c sum dx240$ j4 I1 i+ ?0 n% O( G
$ @+ ?* ~$ M9 ]8 F. Z% B6 O* r
local tempmaxp=r(max)
) h$ o5 K. o. ? restore
0 j) Z8 u. ^3 i( i }) i3 J+ T- u, A$ r: i
: z' r8 p0 l' K R- a. H
, C5 j; Z7 ~( d4 J0 B7 g2 s8 M # e- M. G6 J5 M6 A, ~' O: L
$ _* _- @4 b0 G4 [4 l
gen maxp=`tempmaxp' in 1$ J7 L& I4 e+ O+ {4 q; _! T0 X' n* Z
( ^. w, G$ `% o! p6 ^ *240maxp
7 M1 r& ]' @* F+ d ( F/ ?# H6 U7 ?6 m
. W: @7 p- n6 X' z) B *-------------ddy240pminp左侧高峰值-----
# W- X8 e- _" P2 _- M; h
# a* e% k7 S$ x- E# ?* Z6 A h: X preserve
2 q' s/ ^! S0 ~! j
+ B. m6 i* {! [; Z) b! X. W keep if dx240<`tempminp'
, l8 Q' E9 t! `# @" A 5 B, e2 q6 {0 \) q# F0 a
keep if ddy240>0/ }. Y' t, V1 E" [2 l8 U- h
6 B) D6 z L0 Y7 ~" I& P
count
& x) @ W5 C$ p$ J+ }( ?# D ' p$ F2 N( R% v: ~$ H" X
if r(N)>2 {. _6 D$ M( u1 W, w7 R, i
+ Z i/ }5 ]% k R
pkexamine dx240 ddy240
s) I2 d6 I o4 t! M ! @( T+ y* q/ _& ^
local tempminphddy240=r(tomc)
3 q7 N7 `$ y2 S6 ?6 u Q8 ` restore7 E; Z5 Y) v4 z: V
}
' L3 w) m( O8 i2 L. ?& A 4 r: Z9 r7 x1 g& K# n
else {
7 I0 g, Z6 A- Q! Z. I% E restore
4 X# C+ P, y5 \' ~& k di "cannot find pminphddy240"
3 U6 m5 W* s5 m, n" U7 l. t ; s1 t) R- b* J* e9 l
, A$ R+ B- J+ ]& a5 @ sum dx240
^3 a5 c- |+ n+ ?. w! ` local tempminphddy240=r(mean)
6 c2 _9 f- H: H
+ @9 V/ i& [0 J* ?
0 o/ q% P. G Y8 ^- o9 O! _) ~. N }
, S' l5 ]- w7 W" H 3 V1 Z4 N7 z: D: j+ M
; _; v5 W% @1 }) V7 J1 [
: Z9 Z4 v* |* [8 d9 x( W( T
& P% k7 v+ L9 \, G* {! D
) d0 H2 n* Z5 S1 Z( w/ z# W0 S2 i; }
5 ~# F8 V. y% j' n$ s6 b$ X gen pminphddy240=`tempminphddy240' in 1
3 R! `. { q2 ?7 l1 T
/ K' c8 ~8 D! {$ [! Q( Q( }
8 r/ t a* I" r" z, z4 [ *-------------ddy240pminp右侧低峰值 -----------------0 t8 R. H+ l$ z- O
preserve ' V6 b, K ?1 n# J
8 @+ i7 a5 I5 u; u# ?, F) `( F. {6 u
keep if dx240>`tempminp'
/ X" T4 v! E! u : k& |$ ^, n+ ~# S. E) \ ~
keep if dx240<`tempmaxp'
5 K: W& B8 \: \, _1 }; z! S
( g- }- k# C. m# s" a keep if ddy240<0- ] i5 ~3 u1 E! c
3 N. z L2 m6 a) Q3 @6 O
gen temddy240=-ddy240
' q. O, ~3 W) S7 e6 ^: L, h * ^9 m3 D9 @2 H+ ~: x# r: `
count
. o- A: A& b- _* K& t' D
) Y A e2 O/ q% ], r if r(N)>2 {$ P) Q6 I( b. x5 Y6 K* H
7 h' {/ s: `1 T+ o
pkexamine dx240 temddy240
w% e5 W3 ^% }- _* V7 Y " Z' p* B4 d- z/ a8 o! R
local tempminplddy240=r(tomc)
* @: U% A) A5 {3 G restore9 x; h5 s' V5 W& u% Y; K
}
( h. _/ u; O2 T- V" i9 A( `
* f @. ?) L- X: \ else {" y3 o* Y I6 @' n( \
. G {0 \' H" z- f! j' ~. a
di "cannot find pminplddy240"
6 i; n; U! A9 H$ D" l restore
! b$ l( Z8 ?" @& L0 t 3 B6 w) E3 e& x* P! c
sum dx240& j& ]& Q0 x: g: f1 d
local tempminplddy240=r(mean)
; b& }1 h4 |# Q8 I' t 4 ]2 W- W9 c% ~0 z
* X! m; H/ L" L, w3 K: ~$ p }
) P) @( \/ T( M/ Z4 l& r: g
% ^. l6 U( K l Q; J3 p # a/ v" E" q+ {9 O
: ?! R8 ?+ _: |# o& O
4 Q% F( ]+ E" n t- _
4 L/ P( `) c s' ^ d/ A Z gen pminplddy240=`tempminplddy240' in 1
% C% U4 }9 [" Z& G2 c
# f9 H! f6 R n# ^ *-------------ddy240pmaxp左侧高峰值 -------------------3 o1 Q. j1 h7 m$ O5 J( U
9 M$ ^+ L5 b3 D
preserve
3 `- v; k# P' N " Z. ] A/ v7 f) q
keep if dx240>`tempminp'& _' J3 q2 B" e
. i+ C( z1 v1 M% E7 Q. v, B7 X1 P
keep if dx240<`tempmaxp', {' h* O) q9 C# c( }
& ~' O$ e- e1 R, { keep if ddy240>0
. Y) }$ W" U- z4 `8 U count5 J) u v( B4 V: x+ A
5 Z1 O8 v' c; {4 l4 N( @' O if r(N)>2 {
) Z3 l* L2 F, e, p& z2 p" }
+ h4 l) \+ q! S1 Y6 R1 E2 j: a pkexamine dx240 ddy240
1 @/ W) E; e4 K6 l2 n/ d! ] . U9 g8 @2 I5 p7 x7 D _
local tempmaxphddy240=r(tomc)
' V* V& _( [, ?7 W T9 L * N6 `9 U; C& G0 F6 D
restore
S; R# D7 M/ l. Z6 T1 P; \+ x }3 p/ R- E- }7 x5 z
) d3 Z. y" ?1 O- m else {
% Y: {& z8 I6 a. @5 u) g9 W & ~' I- ^1 I6 U2 j
di "cannot find pmaxphddy240"
/ M$ p& `0 L' y& q6 }5 K restore
$ N z9 A* U0 ^' V3 B
+ g8 v7 q+ V! @7 B- } sum dx2401 K. e# K" t& Y7 L
local tempmaxphddy240=r(mean) , N: X6 [, [' K. X
$ L% x" h% B& V# K/ V8 |/ E
6 V2 U% n; Q8 o6 E }4 a9 M, g$ I2 |& u- S9 k
7 P* O% r+ u! M; S: f7 q 2 Y% Y+ C, F3 U, d0 k7 Z, {) v
0 r/ C- N0 D2 ~8 C
0 V& D- w; W( X0 W5 N, o
& x. P( p: w6 A# C* m, Z- D/ N3 I - k j; [* s/ A$ K& ]5 [
gen pmaxphddy240=`tempmaxphddy240' in 1; q# E- P' x$ G( u, o
) s4 C% K' }. |3 {3 ?' l
4 b6 c) E8 ^% e, T6 b" E7 N *-------------ddy240pmaxp右侧低峰值 -------------------
# n4 r! N+ X4 {. [ & G9 j4 \: s5 D7 ?; `1 `
preserve & U- q. N1 h& ^ [0 G Z6 G5 M
# I; r: {$ C! f6 k' O' M; ^. W
keep if dx240>`tempmaxp'
! b1 r+ i$ b, N( e, x / D( P* R$ B6 y/ j9 O1 E
gen temddy240=-ddy240( a/ J" k. E! x+ D
4 \4 k6 E3 R% {
keep if temddy240>0/ X1 [3 n H c2 N9 \; ~+ N) v
4 U6 v9 U# J* f' v- e' C1 G R
count
: D2 R! g& K& F0 [ ' y; w! z! ~6 i/ P# b( U4 h& M
if r(N)>2 {
! t* H/ s! n: ]6 r/ _( v0 ? $ l. | @' F F W; M
pkexamine dx240 temddy240- M+ }; v: S/ N) D C" q: e. L8 o
& t- C1 L: P0 h0 c, {) A" U8 k# L
local tempmaxplddy240=r(tomc) 7 P5 R, L! k- S+ B& u
restore; v$ R+ s. ^! J% ]$ Q# S, `4 b* B
}* ^1 q; T+ i# U' _7 k6 e
# R0 a+ e! H+ W else {0 t, J" j1 c& _% j
restore
- G! W" P! R2 U' q" K: g- ` di "cannot find pmaxlhddy240"
8 {, x0 ~' S0 I" b- Q
7 k! U) H1 d, t. h
& o1 d& O# t$ ?- v8 B! i" K* H sum dx240
: s7 h% i/ n6 K; D0 P! x5 x local tempmaxplddy240=r(mean) in 14 [) C; h8 A U4 s7 D
$ o& i3 b9 M& D( p2 i 6 {: N3 U6 }" @
}
5 a# V+ B0 \& K6 X 2 V" U7 l" v6 c, W5 a! ~* b
) o4 I& i/ P$ o; t) t: D# \+ M7 n2 u
9 i3 w3 r, o$ e
5 i6 y2 Z: y4 C
# W! o* c1 C, _+ i1 I5 r
; q" G" Y5 P$ w; x gen pmaxplddy240=`tempmaxphddy240' in 1
8 Q( _# g* b! _) x( R; ~
/ G8 U- m6 b# [; T# _ *-------------------------------------
$ T/ v4 C+ ~* b7 B: X7 X
1 i; B+ t$ y: `, m/ o/ C gen price5d=v5 in 1/20
9 I) g" W% B7 I3 F
; c; L% ]2 Q+ t gen price5yy=_n in 1/20
! t, V4 I3 l" A& u# ` * v5 y* ]/ W1 U0 _6 z4 M
gen price5y=price5yy*(dy240max-dy240min)/20
- _3 C' k3 x6 b7 ]- M4 G8 d! s5 o+ D9 O
' Z9 @# B. Y) s$ i& Y0 N) N, G+ \) A *price5y &price5d( A) |; F; n( F
" ~9 D4 B* k4 q: t5 Z
gen priceny=price5y in 1
7 H X0 I( z$ E! a! a ( ~2 M2 {- Z: Y( v2 n
gen pricen=v5 in 13 E2 d5 A) D, E: I8 x+ @
+ \# v5 [; j/ c# o) T( f
# M/ @) `+ V+ {/ H& V8 { *priceny &pricen; Z% i9 V. @& _9 k8 D
: Z# m5 C4 [6 j% O
; v3 Z+ n9 b% a3 F" w
*-------------------------graph------------------) H. [4 J4 J" E. z
* S: ], R! f$ _, w8 T8 C( f0 \
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 M) O2 Y' O; Q1 L- R; {
+ S: V0 D( ]! I
* ---------可选项目----------------------
3 ^! R5 z# `4 v& ~, |
, x& P7 I9 x# u7 K. {}
$ g' \( \8 G, }1 f" Lend# C0 q. n3 M+ J; W3 M
|
|