|
改了一下,这次运算应该没啥问题了
/ J- q( r- Z' W% I' S- d' m8 M2 V6 p# U' Y0 w( }
2 j% ~9 n H& A2 {$ [' L/ |+ M& M
capture program drop hello7 A" J2 U, c, V7 A6 [
7 p5 |, c9 i! `6 o- R6 B! u6 k! s
program hello" u: o- h" E+ T3 I* ]
+ \$ `. W1 X: V/ \ quietly {
5 _9 _) S( q" i3 m( S
' i% G( k% c: e8 H6 z+ M |7 Z( sclear' n; B& @$ s" f
/ u. @6 c) M7 \0 T
cd e:\finance\stock\20110101\source9 Y: ~ R. I: _+ Z, N
3 z, A. L& p6 o
insheet using `1'.txt2 L* u- {* H7 q2 X
q6 y$ W+ @$ s e keep if v5>0
* ]" [- l& p" v1 {; [ , }& K. k3 N% \/ B' f% T
gen vt=_n
" W/ H" O* O$ m( O
/ C9 D' P* S+ p# N tsset vt
0 ?! a; C, [( ]
% Y- |; A& Q$ v. L; L gen zf=D1.v5! I5 y3 z, k6 J3 Y3 k9 _# f
* j5 ?3 [6 S, M2 }2 S: |
gsort -v18 S) p1 i% C% j6 Q' w! b0 _/ _2 s' I
2 c) _/ s" w$ l8 p9 M- r
gen avol=v7/v5
* Q* r" X( b% |! R8 ^9 f+ i5 O : f/ D- R& V! ?+ s6 }, U
keep if avol>09 g7 G- _$ `! u# A0 n3 W9 z4 e( _# a G% x
9 p8 @; j# U* Y, | A4 m X2 a3 A drop vt
6 g2 k7 L4 _; K5 y% d- s! _ ' W! e' i4 b0 L0 C9 b/ L
gen vt=_n9 _! d' _8 z- e% g0 b3 d
$ I( f' C M. U1 W% m/ K# n
tsset vt9 G" q0 P9 Z3 J2 W3 o4 I4 U
+ [; c2 F. _1 [* ]
sum v5 [aw =avol]
0 ~% ~0 l3 Z$ a" g0 i: Z) Q* ~3 h. |6 h
gen amean=r(mean) in 11 A& V V; }- X) w7 U& n% b
2 Z9 D3 ~' _ m7 v. d' Q; N. } * 总加权平均值 amean
) G B: y! F6 ]1 D( R" F' E
0 C2 d! [ p) K: y ) z. K! X- h# M0 y4 S$ u5 s
keep in 1/240* u/ i/ C; C& W. B$ Q% D! ?
) ?7 ~4 E V% X5 p% I, W, a. j
sum v5 [aw =avol]
7 c P* u9 J1 D+ R+ E$ r- a; _6 u5 E1 K; U5 p# W( {$ r/ m
gen mean240=r(mean) in 1
, p: W( k g- `, V6 T
3 p W$ l. T$ V1 }+ Z5 P *240加权平均值 mean240
# Q' ?& X3 T; W; e5 { ; K2 ~. ]: ?7 q) q" h
set obs 500 6 [$ _. ^8 v$ ?. \
% p. |' u+ [9 x' \' O/ E; A* v7 ]
kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph" W* f( C J' K1 F
1 e6 k& G- o; n- ]* j+ b; r
*240 kdensity(dx240 dy240)# M5 T' V, S& w$ t0 R
) G; \" X% k8 u
sum dy240
7 R2 r3 |, @% N9 e/ l 0 ]% U5 Y1 r& M: A5 S( i, q" v
gen yxis=r(max) in 1
3 j6 @& ]8 l# Y' l% ] ( [1 t/ }' S/ m
gen yxis2=yxis/2
6 I0 S* i2 S$ N( ^ 3 ]$ ?% r; U5 C
*yxis- c4 m% e y8 E
% B2 t* h# }+ }0 O+ Z* n gen dy240max=r(max)
& L# j9 {" f" {$ u: H# U + _( h: q% Z( Y8 p6 l% y9 A$ J" t. R3 Y/ B
gen dy240minp=r(min)/ C0 U1 k) o% O8 l' s' c p5 V
' F) @/ P F$ A& A: i gen vtt=_n+ z) C/ X3 s7 E h3 N/ n, c, q" H
& |: ~* z3 M' T. I. A8 H; d8 E: Z
tsset vtt
6 c0 @+ r* h5 Q$ A# K+ e
$ f9 k. H Y( A- L gen ddy240=D1.dy240/D1.dx2400 {! Y* Q% Y* M' F
6 X8 I; X d4 @- C1 S( x; Q3 X( ]
sum ddy240
, i3 W9 L: F2 V$ q1 _3 [: q & x# @' ~% _: w2 q, Y0 `
gen ddy240max=r(max)
6 i' B, i2 o h% J- N ; v i# Z0 A7 i
gen ddy240min=r(min)
! z& H/ v* d4 N/ i3 H ' j% k, Y/ h `" y* `
gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)
+ ?- ]! l9 `) g N, B; _
$ T; e' G& p- w- s2 \8 g sum ddy240g
3 a/ X+ R. ^/ `7 Z! l
1 n) E9 l' g2 \2 Y7 D3 W( c2 a' Y gen yxis3=r(min) in 1+ _. V/ s8 N6 v9 y: E# q
5 Q0 }: ~1 p3 P' y" x7 l( w5 I8 V9 W
gen yxis4=0 in 1
, s# p9 V; l! V1 n" @ 9 W- T# }8 K5 ]7 L7 G6 r/ @
*ddy240g 7 o0 c# u3 U$ B- q) b, R+ m" x
: e1 |) F2 s5 q4 Q
2 {6 E" A# t0 t1 \/ A9 s preserve
7 U2 G" C4 h y, X1 V
& S/ R% u& m+ `3 @ sum v5 [aw =avol]
& _, P; H' T6 W+ l5 N/ g8 c
$ C& F2 c _) }! W2 L keep if dx240<r(mean)
$ g* p$ Y* \; e
* o# H- E% E$ s/ u4 u1 c sum ddy240) o2 c' ? T- P1 L8 \
! X5 c3 R6 O4 X0 ?' `. A if r(min)<0 {! L" k7 x. n0 _/ B4 q# `
5 z6 L+ E5 Z m
keep if ddy240<=0' b5 _' h, Q- D. U4 z; G' z
7 W0 x; y% G4 f; Y& I) L) d5 i
count
6 m- X" j4 f; a8 O6 L( s D % x1 q( ^4 f! L& Z, v6 ]9 m! y& V
if r(N)>2 {
" q8 y% {5 ?) q. ^( E
6 I( n. ~+ |* _$ D2 o& W% b+ i# H pkexamine dx240 dy240
+ `! O/ e* N; T5 x 1 @7 _3 }/ P/ a) o
local tempminp=r(tomc)2 x' N3 _# G6 F! ~- D
restore 6 I- n' X1 N) h% E6 V9 m
}6 [. C4 y Z# ]' N4 o _2 u' M0 M$ y
( u$ [( {$ {2 u1 s else {
" E$ e$ c |; }
# G. a& j" M5 O; S: L- v: ^ di "cannot find minp"
& y+ z2 w: b# S k4 e
2 ]( c. e' |$ W restore ! z x0 O4 V: _* O* Y
sum dx240
6 |; D0 R0 a/ ~+ R: g local tempminp=r(mean)8 Z. m2 s7 @2 w/ M1 i! a' \
* [& ?: A+ q% f. f
}- W' [% s5 G% h
}
" e# D |) g+ c1 D/ @ else {
8 n, `8 i2 B) B6 a l 1 r1 Z. Y5 ?+ m1 M( p* I8 }9 E6 u8 P
keep if ddy240<=r(min)
. j" K% [7 T7 s) a* P' S & R- u3 M0 Y. W! I0 K3 _* |6 V
sum dx240
0 c0 C$ F* y$ G4 c; } ' I5 }7 A# Y! Y C
local tempminp=r(min)
6 t1 f3 n6 u. j# ?4 r0 q1 P- ` restore
/ v) O4 V6 h" K) p# V' ~% K }
* ~8 w3 I Z+ s
9 ?4 @* a( x9 J- I1 _' n2 g4 {& l: g7 Y9 w* D
$ Q1 G* u% J% T3 w$ o! H gen minp=`tempminp' in 1
0 h" Y8 q& M% D. L *240 minp
; g# Q) @0 U) w# @; n/ H( l/ a3 F6 N/ n8 t+ r
6 J9 a! P9 H/ A0 o. ?6 S
/ T6 y* \+ D) d* B/ M
preserve
6 s2 s7 @$ G7 d% ^
; A( |+ `' ]( h" Z sum v5 [aw =avol]
4 r. B1 P% j, x: G! d- } ( ?8 n; u Y8 |5 F, z, ]
keep if dx240>r(mean)6 v* M' }; n- _3 a% \, }- _$ z5 B
+ ^% ^: N; C8 r" j H
sum ddy240
! n' @6 W3 T e( l" Q 8 v) F6 j# i7 U( A' U
if r(max)>0 {
8 Z, @3 l; o5 e2 Z( n" Y
+ C; U- }+ x) S4 r. h0 u/ E keep if ddy240>=0- F1 T$ N M9 [" Z
3 @2 i! F9 Y" @! L# r count; [- o/ N! D4 u2 Z5 Y% O
! F' Y: Q! ]3 K if r(N)>2 {
7 l6 l( `. q8 F, K* M2 a + o, z) C8 j8 f6 n/ a
pkexamine dx240 dy240
! b7 J# s& d+ Z. g5 K0 W/ c6 z
, u1 J9 t2 E& E3 i( R local tempmaxp=r(tomc)
5 b7 B/ P# d' r8 \) f* W- _9 \ restore # |. C) f3 V6 V1 X
}+ C* X6 c+ ]7 I" }
: q9 o. V8 |9 }4 `4 }: C, n
; ` a6 g, }4 J5 G# Y, w else {" V2 b% x: V8 _4 P0 }0 y7 j) l1 u
restore ; O) i1 R2 R" O6 g5 _ r* p
di "cannot find maxp"
. X: N5 R& d' R% p4 L6 [. p5 T
4 {. l5 @+ ]! l- G9 w) W! c 1 R. l [1 B9 f! I+ `- g7 D- m3 |8 j$ B
sum dx240. \$ E6 g2 B7 B5 w
local tempmaxp=r(mean)
) X3 s' N$ R7 H- [7 R3 D' F # j N, l) K$ N3 `5 }: q1 X' }6 k
}
. g: A2 w+ s' M8 }4 t) Q * S1 |/ E$ t6 h2 Q; N1 Q) m
}
5 o/ m; Y# ], I# e / V! \4 C# q4 g3 R/ Y2 S2 _' U
else {: {2 ~+ w% N# ]5 {. t
2 y% A, @# D/ W- X0 _
keep if ddy240>=r(max)
0 N. P. n; s- U' B $ u6 Y) v% s( N& e5 E" O9 q* l, e" r* N
sum dx2400 I9 Z1 f" K X6 J; L
9 Z% ]4 T% y' H0 D ?5 @8 l
local tempmaxp=r(max) 0 L4 ~$ p8 Q; x& G3 q0 S/ F
restore
" m3 V8 m/ P9 F- G4 c/ g }
`# l) @* M5 z- a# i+ U- E# x 0 C3 h- ?8 D2 h8 e# i; W1 N [3 @
) i$ K4 ?1 d C
" Q2 \6 c$ G( A, s+ l. _/ _% X" i
& o: q; q. Z" u9 {$ n4 M1 u gen maxp=`tempmaxp' in 10 L) z. ^1 B/ B2 }
" h# D/ W) i6 Y9 _4 U. W; C1 `3 W *240maxp7 X+ E* n8 ?% P
- U: [9 P; x5 O
! q+ U/ v' z2 R/ L
*-------------ddy240pminp左侧高峰值-----
8 F& U0 ^; A% E% t' @/ j0 k
c! d. g: t5 o& I" P; i7 A# C7 G preserve ' d6 r! K- U/ O! k
3 b G# P5 ~- {$ R o
keep if dx240<`tempminp'
: U% c/ k3 M, L . [% q" O4 g- f' h& H+ d
keep if ddy240>0
. g4 \1 O2 _1 Q2 f3 N3 c* O3 e ; v9 k @. S) q' j+ a
count
+ ~0 m% z8 s# v1 M7 b
6 d# G+ |" N2 g v# ?. ] if r(N)>2 {
0 U8 T9 Z! B3 o/ | . y4 v% B5 }4 `4 ]/ _/ A9 J! E
pkexamine dx240 ddy240
0 l6 G# s2 E. q: G0 F , u6 S/ N" g% U
local tempminphddy240=r(tomc)
3 ]7 `8 L8 O: W @; x restore
- ]; \ B6 U3 n9 [: ^8 m! k( } }
7 n) d5 _! C' \
) ?* d, `* @. s+ e B- n else {
! _. c: ~0 j$ D) k, Q0 z, @ restore ( e! j- T$ k1 o9 z/ p: @
di "cannot find pminphddy240"$ u* m' \5 P) M8 a$ U
& i4 [) V: |& {* p
3 T7 k6 Q1 y1 p% \ sum dx240
3 f5 N% ?4 G( d4 [7 S! K: h8 F local tempminphddy240=r(mean) % q4 y, J' R# y
& F2 b& D- S! S; v 4 S' m7 ?# o$ W+ |/ F- E2 r5 M
}4 v8 e$ S* @$ z% k
/ ^5 l- L9 @+ ^' E5 ` e; G
a8 o( v1 _0 n# E7 y5 M* s* L
7 F9 o) Y) K& ?2 n' ` N! I
0 q; L7 t4 e# @1 }0 G2 l. _
# u/ f; v w7 R; U5 T& D# t
1 a* {: l ? ?. | gen pminphddy240=`tempminphddy240' in 1% \. s) m4 T- r! i3 | D! S! M. X
7 m& x+ v) _1 m B2 A' U9 O) F1 ^
: }4 ^/ o3 P0 B& f7 B *-------------ddy240pminp右侧低峰值 -----------------
5 o9 Q# b$ T$ N preserve 5 Z$ T. ^0 {) n& p8 {( h2 ^
. A% e% g7 D) d2 f) Z; q5 @) ? keep if dx240>`tempminp'4 P2 \! T, x( r9 [6 i X
$ _* C# D; L0 Z3 d! o3 c2 j
keep if dx240<`tempmaxp'
* _9 @: S3 W% y/ p
) @8 Q+ _$ c9 {! b1 Y keep if ddy240<04 p, }' \. W( R! t/ I; n( V' x2 I
2 B% w! r- j* p6 z, N0 {7 m# \ gen temddy240=-ddy2403 M( [$ v% P; D" P" w
& P6 V: ^* K4 ^) I) ]- D( w
count, k% D( ?: V/ {- Q5 n U* s
% f2 l+ _4 _1 h$ {- u! B! g if r(N)>2 {& ?& V! t1 e+ b
: i) T7 u4 q) b4 t# B
pkexamine dx240 temddy240
( A; ~; W/ Q$ F/ ?5 P$ V& F 8 h6 u$ O% |: @' W8 P
local tempminplddy240=r(tomc)
6 }. h* A+ _# E restore
. t$ b4 u0 \9 i8 p4 o5 y }$ |3 g7 e$ v c; R; y
: [2 [- ^4 y" t% K$ Q
else {& \4 F; D" u# d" c* i
- i' }" T( r. v0 m% ?5 L& h
di "cannot find pminplddy240": h7 Z4 Q* H. G8 [8 i; q
restore' r* E4 F% X( D0 ]9 c# u. J
1 N* ]7 C. F' L) ~- O9 Y sum dx240
6 M5 p# Z/ Q* c3 r2 ?5 j1 g& ~" w8 } local tempminplddy240=r(mean)
' R) H' p( e. _, V9 ^3 P* ] 4 q; r5 [$ `0 H* a9 `3 ^9 z
, H2 q4 L: F& R* g }: O' d5 E- _/ l- u" I' G
) s) M9 Q4 m) X* q
, X! f" n9 p4 T2 i3 d$ z$ q $ Y1 o# f7 }8 \$ l O; h
( k: S* ~' j" J/ D
+ F6 T. [" k9 P5 j
gen pminplddy240=`tempminplddy240' in 1
" g6 L: P+ c ~& E1 \6 b! q8 K
3 d W( Q0 r+ F ? *-------------ddy240pmaxp左侧高峰值 -------------------
: D7 X$ P& q9 E( b' Q* Y' w
* q$ B: D: ^+ ]+ A7 z preserve
+ ]9 D) N4 M! S5 R$ q h" `: W" ]! O Y% s3 N7 \5 L. V; D& \, ^
keep if dx240>`tempminp'
5 W# Q) ^$ n+ g# J6 a) }# Y
" M" y- d3 ]% A$ f keep if dx240<`tempmaxp'; E" x- K8 N% j, F$ }- Y4 Q
" @/ ^1 E& d& T$ v3 a: S, c
keep if ddy240>0
1 y2 P$ m9 v# H+ s5 @ count' C7 j {! z1 `/ m- \: R
5 |' {- C# B$ J; s$ C$ [ if r(N)>2 {# {, ^* R( U/ ]! y* \
) F e W* y }$ B% Q pkexamine dx240 ddy2405 q8 g- E( C6 r& S
0 U( d/ h7 G4 n" t) R4 b/ D local tempmaxphddy240=r(tomc)
0 h' z9 b( o E * V9 |+ {- ~( A# g" h5 ^5 y2 c
restore$ P0 r8 V! k& F# F
}1 Z$ B0 [0 q* ~# X9 y: J
4 D# A0 n z) R! e) T1 A else {
+ D1 ~. ~+ `& v: C
; ~& \ I# |% b) C2 X di "cannot find pmaxphddy240"7 ?- S9 Z1 I: |' y: y. f% V2 L4 H
restore7 t3 L. O/ @$ H2 Y/ _0 d* S
) ?& \5 e6 | f% P7 ^ sum dx240; \, w& C& ^3 e4 x; m& J0 A
local tempmaxphddy240=r(mean)
4 n/ }* o3 J8 l9 h' e B* ~
! F+ v) p; x7 K7 Q( P$ ?6 o3 _9 ? % u h4 b- p8 N
}! Z6 B* ~$ w" d2 E
6 o3 Q6 E4 `3 p3 f 4 k( e5 |2 d# \' D# [; X p
7 u/ _% N- M O' M, C/ n2 g, T+ \
, U8 H; K' R' S7 L d7 e/ F
' y* ^1 x' g0 m2 X1 k
; ~- {7 L4 {' v) P6 ~% N gen pmaxphddy240=`tempmaxphddy240' in 1
" F: w$ d% \& N; z: [
! V9 V2 L& b% @$ @
! F# e3 O5 k' {0 l# ^6 J *-------------ddy240pmaxp右侧低峰值 -------------------
5 f9 b' N( s* w) G) E" c/ [. s- ^
9 W) O2 }) x# O) Q! @4 X preserve
) |9 W( y5 ?* d : T/ t3 {6 g& V/ i! h$ S
keep if dx240>`tempmaxp', O- A) ]# W! Z' z. _( G( ]
+ d8 V* Y% i4 V" R; l' Q7 w gen temddy240=-ddy240
+ `8 U8 G; D/ a! u% K: t * ^8 y ^5 O1 d+ l: R9 p
keep if temddy240>0
# P; k! k" B' V! _1 f+ b
7 i: t, y) C9 l: P7 @7 R; i) ~& {) Z count
% g. r; J3 M& k5 M2 ]6 { ! J# C' y- h* T. q* N
if r(N)>2 {
6 n/ |" y. K+ R+ W " @+ B G ?' e5 j1 N: }% D
pkexamine dx240 temddy240
4 W1 y3 l0 g8 f
J9 H! w2 V' A; t" w+ _/ r0 k* ]; U1 f local tempmaxplddy240=r(tomc)
& k5 r8 F5 R, N+ W- ? restore
- F2 m- u" ^! O( h/ U- {6 p4 ] }
* v: t* z+ |' p# O/ k) c% U) u
, M0 Y2 C) x$ x { else {
% G; O# e% W% j& G7 m7 x0 F restore
: b3 }5 m2 y# Q' I* t' o di "cannot find pmaxlhddy240"
~2 i/ N& d' T3 _/ h, |# ^% \ 6 u% x2 j+ i8 ^. u
/ w. @8 }& M3 ^/ j# i
sum dx2409 p9 c! ]8 h1 ~ i
local tempmaxplddy240=r(mean) in 1! j# w6 H7 v c. p
/ w( Y" A9 R' W9 o- A6 `% e 3 d# W C) ?) S5 w
}
3 U0 c7 |7 e' w, f) l 7 ]* E5 F) C2 {. s5 `" g
. w7 Z5 y7 P3 J$ y, Q1 e* Y4 g ) e6 v4 j& Q4 N' L
+ X! ^% X6 q" | {0 o4 B
7 n* E6 _# M$ C) I, L
0 U0 k7 U: O, o$ A0 {3 | gen pmaxplddy240=`tempmaxphddy240' in 1
" C. n9 F) v" F! N
9 f" r2 f6 p2 D4 S: N *-------------------------------------3 _9 f! G# h. P8 T
+ F; r/ I% x \1 a `- Z+ \
gen price5d=v5 in 1/20
r$ J" K7 R: \/ R, K! s& I
% ?8 w$ V' T: G2 [; X5 I. | gen price5yy=_n in 1/20
1 U# w* I0 f& M5 s ( d# y. q4 m3 e' y
gen price5y=price5yy*(dy240max-dy240min)/20
1 K+ L! W9 C7 |& u$ b0 U 6 V# h( E" {2 p4 V" z: _8 ^. H% ?6 `
*price5y &price5d# A1 u' L: ^- M7 \: K# ]; u+ D3 u
% D( _* m5 q4 O; O( W/ j3 y! D gen priceny=price5y in 1, u. ]( h, [+ ]" q; f
2 x5 n2 E% c n: ~, A2 U1 A
gen pricen=v5 in 1' t" X+ ~! m$ d- h4 f% w" Y' e5 q
" B& |9 d( N' U* K
% R/ ]. q v- h# n1 r# O *priceny &pricen
# E& l! p% i. g5 { + l1 |: A0 I8 ^7 N& {
9 z! k; T! [, {1 q# I8 f! b1 v) y *-------------------------graph------------------
9 n6 M/ j- ~4 O k 6 b6 K: L+ ?1 y! I8 q9 D8 b' ]0 @
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- V, {% L/ r* z: c
1 p) ]6 A; z8 @- k* ---------可选项目----------------------4 I3 p) s- J5 P& {5 a; {0 g
0 p, N" G* A8 w8 {+ E
}3 T# z; S2 h3 M' u: f6 q! \0 x
end
; Y2 T6 E6 N) P& `, F |
|