|
|
改了一下,这次运算应该没啥问题了 _9 a6 r! \( J+ E2 w' `
; T8 ?& F9 |2 v6 i, D, X
! P, E- l! y& P# O' lcapture program drop hello
3 S' F; m: Z& L9 {5 w8 M
. f8 Y! L& P" P# U0 u- e* rprogram hello1 Y v2 t Z: l- B
' Q7 }: W& ^) D- u" t: Y quietly {% e! u- u. F1 h1 j* S: X5 M, {
7 ]3 P1 ~# \( n: _) G
clear
4 l; m0 ^, c( y2 i0 B4 `& q' _
: p% V& s! A+ r: l; Kcd e:\finance\stock\20110101\source6 t) y( H% B7 Z, B& o. X( X4 [
, s3 r; ?+ I: N3 C* @
insheet using `1'.txt
2 J2 a9 o0 z. l3 {$ J& U8 J. [( c: h" L" \3 J
keep if v5>0
9 b$ l: _. C% ?" C' _9 X$ W
) f4 p* f: ?5 V/ F gen vt=_n, F& h: P; {- H# s2 R
9 Y& G @- t$ b! @# M' ~
tsset vt8 a8 [/ z1 E! g% l) S
( w$ H; \4 B# ^' R6 A6 l; k0 v
gen zf=D1.v58 o; ?9 v3 o; q
: w( t6 R# X8 l+ v- g" ?
gsort -v1
5 C& |/ k" G: U6 i7 p6 I% Z& ]
2 W! l p' q) M gen avol=v7/v5: I1 H% u* @4 _& H# t) k5 [
6 x4 P. w& u) k% b6 t4 \* z, Y( k keep if avol>0* Q& _# R7 }/ j+ O4 P0 f5 D
! A" w9 Y4 q6 I' k6 }. ?8 H
drop vt
6 H* X1 p- d6 Q ( U% [+ v9 q; z
gen vt=_n: r9 \1 t2 I) t/ v) R
- f% W& J, i7 {" |8 E, m
tsset vt1 @; t" F/ w1 K4 |& J, d
5 p* p' `& D' F sum v5 [aw =avol]
" ]5 d( S4 k$ ^8 ~8 I
/ c( N! U" q) E/ ^% z7 O; e gen amean=r(mean) in 1
- P+ Y# C- ^+ b3 c, |2 T
" y$ {8 E; T J$ _# R0 C * 总加权平均值 amean
7 ]4 A) _; ^* W6 h+ s6 l. T7 q3 u
, y; E+ D, F% ~) @
( N% ~- u" o. O) w% B* V keep in 1/240
! W2 J7 Z9 |3 v3 @
0 q' z: C3 E# v. [ sum v5 [aw =avol]6 s9 w5 m" x& E3 a* Z: j5 j
% m7 Q, T( d$ ~# q0 W6 k! k$ ^& g gen mean240=r(mean) in 1/ G* _. J4 ?; I" A% X
8 w0 e6 A% W% o$ G2 }0 @
*240加权平均值 mean2407 X; g9 k* d0 P I. D. T
" A4 x# G( |4 ^: _$ O set obs 500
% \7 H$ O0 J$ w0 w' N' {* G
- o, G( c6 ^/ h# u5 w. S kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph* b7 b( E3 }) D- i0 g
4 L L; h" f) l' v
*240 kdensity(dx240 dy240)
4 D% m( v4 p ]% j& h, s! `
5 z0 i1 ?3 k, k; v( b) j2 z) L sum dy240, h/ K6 N* J! \+ P6 ^
8 T7 d- D$ j# I7 r; H
gen yxis=r(max) in 1 X7 m" i- d% \, I' s) M6 z- ^
( z3 c: C, }# I/ v1 K i4 m0 J gen yxis2=yxis/22 i+ c$ j3 G6 k4 r6 |* g
8 n1 z% B( O3 j+ a9 m( M# w* _
*yxis
! r4 r0 B, J6 S3 ]# B6 p p' a9 [6 k: N# z
gen dy240max=r(max)* ^& L( R; I( L6 O) I
3 z6 ^7 ?% \- e7 h$ b
gen dy240minp=r(min)4 @/ p" y/ P2 I
+ I$ q8 m4 K5 d% W M9 N/ h
gen vtt=_n+ ^- G9 n# p) M" c: F; B
/ E, m" _! w$ r
tsset vtt
[. n( b7 j" [# p" V' X; ^$ E2 l" [/ K
gen ddy240=D1.dy240/D1.dx240
+ z; ~& L m, N9 w: B) g4 {- t& g( y
3 C4 Q" C5 A( A- d+ E# _$ z' ` sum ddy240
% d0 m& e0 Z, { ( s8 e0 Z$ @9 A9 c9 q4 P& [
gen ddy240max=r(max), r) `3 }/ R9 _0 U
/ B+ C7 t# ` e- ?
gen ddy240min=r(min)
* T1 `+ I' Q. {* S+ O " l% i& k% L. S% E/ E6 K. q
gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)
0 D7 U$ T) d) e5 h; F, e ) F( s0 Q, l9 e4 f
sum ddy240g; G) O5 s4 l" u$ r0 @ J
1 g, S6 ^& W( h$ \0 v7 l+ |
gen yxis3=r(min) in 1
' }2 b- j$ M3 Y4 v
1 z( c1 ^2 d& S/ }5 D! ]2 R6 a gen yxis4=0 in 1
3 Z& b* d4 e8 a$ h5 o 8 }7 O0 p) X! ^3 K
*ddy240g
7 W' x2 R* G! ~. m9 J8 S5 x
+ w1 m$ `( s- A9 U ! F/ y( M+ W- m: w$ ]9 c3 O6 b6 Y
preserve
5 s& _# i# E1 U! b3 I- D
$ p/ r; `6 I- d8 v. b sum v5 [aw =avol]$ Y0 ^4 R: t1 L
. K9 B( l. Z" A- F6 l, R keep if dx240<r(mean)
1 F# ]' I9 |; j# ` l4 W: f" E* {: \9 A
sum ddy240
1 N$ V2 V9 X, C. v
$ Z, F( X) p& d if r(min)<0 {
$ `3 ~1 W+ o4 [1 R$ n: s5 N& K2 ~& j / {' v1 E. o3 C( {: K) I/ D
keep if ddy240<=0$ d0 Z4 m# o: z
$ T* R; j8 ~( t2 \, E: r% P
count
1 i4 X3 c- E4 v: G0 \" k! [
6 b$ B/ h0 t- d, g if r(N)>2 {
3 ]8 ~$ e- T: x
0 s v, _- R- _ G) R pkexamine dx240 dy240
/ [/ p. f' j$ z8 D $ L E Y1 R" l r. _8 i; S0 v
local tempminp=r(tomc)
; R' q4 R8 S9 _ restore
6 [7 o0 E0 c! [4 ]7 a5 m' h) f+ u }
. t) b1 u: U" X% K3 u3 v 4 c* t. H+ s$ E/ q J' i8 t
else {% Q2 C& @) D8 D. x* t
9 ~0 ~5 H" \# I; g
di "cannot find minp"
2 W5 i o. F, I: V: i 9 |+ K Z& A. k* Z- T2 f
restore n% I) l: I; T/ I# \
sum dx240
: c/ `! s% _! N) C4 z local tempminp=r(mean)
$ |% |- g& P8 \1 r# Q4 m , s2 O6 [2 J0 U0 o2 f
}7 d2 J6 g. F4 ]) t% @6 Y) r$ M$ E2 k
}
o5 I$ O$ d2 P9 X" a1 D else {/ M: f9 x! X+ A( X5 H) G
2 ~! `4 U7 J6 K, J* P. a
keep if ddy240<=r(min)
+ H2 v$ {0 W, K4 a
4 b8 [- e: W$ J: E/ n# C3 o sum dx240$ e9 f5 X! \2 i4 W5 t, N8 F5 j
: K1 _% ^) {* L q
local tempminp=r(min)
2 ]& ]/ u7 ^. z1 ~% S5 C8 n restore
, V% ^) v6 t/ ]% Y7 d3 q. j% A }
, O+ H& ?5 B) j7 U& g
$ p7 c; M5 B$ U: |: c2 K: F1 d+ S4 @, x# Z/ f
/ z+ x$ @' _! J" Z$ e9 W gen minp=`tempminp' in 1
" g8 s$ Z5 c+ o; @ *240 minp5 c: F0 Y; w) A; J, S `4 V% i
# E. M- `* l" B* d6 |9 u, U' n
/ U( H+ Z7 t! u6 D3 x) O6 k
9 `& J- S6 k! W6 V8 T
preserve ' L9 A7 p* `# U w3 `' Y' h
( A: e! y; C1 W% u3 V+ m; t
sum v5 [aw =avol]
2 W& {) k& t- n# C: x1 C
0 }# q4 Q; [3 b0 G$ T- C keep if dx240>r(mean)( A. e% P! T/ ~) {" O) O& E
1 R- B6 j! a G7 p8 \& p
sum ddy240
( Z6 u6 k0 q1 @& {; g + E9 ?. x" j, e
if r(max)>0 {
) d% A0 D1 [% W' x' @0 b$ V " O1 G5 a$ n* p; H w* a2 x% w
keep if ddy240>=0
T' ]& r' ]6 Q1 D2 @2 N 1 k8 [' b& l8 { c1 F% r" e
count
1 ?5 Q3 u. t8 O: M: z, Q
4 X; j4 _# J6 A% M- }" X if r(N)>2 {
4 a$ n# Y+ H3 d# ]3 z3 D " m9 s: j1 c) h" q" }, e5 o' Y
pkexamine dx240 dy240& C" q) E+ @8 R: L) [! h& X( s( |
8 ^! M& z2 n( }' t5 C! o/ S6 d: {
local tempmaxp=r(tomc) ) N1 S( }6 |7 ^$ h- x
restore 1 J# l( J4 q. ?
}" T& x; M" F3 K/ G
2 `9 c4 t+ a1 x6 H" d, @" b
( q- a( Q* r4 c
else {
% A% z2 ?/ O' a3 L% Y restore 9 h+ }. E) l* T. y; O
di "cannot find maxp"5 w( [& r" t" O
0 z( n \8 z' F8 A
: K9 S7 D, E5 [) C& A
sum dx240+ l9 ?4 r* ^/ @5 b2 Q- m! z3 g1 k5 }# P
local tempmaxp=r(mean)
$ `5 {" r1 l, c. @6 S4 I ) S* S# k- r7 t
}" Z7 c, |/ `: ^
7 P2 y( X) ?( O/ [8 X+ U3 B
}; Y6 u3 h4 ^% w6 u; c8 @
/ b* B4 x+ G4 n) K
else {) g/ w( c. k$ z1 D3 \. q/ a: G* Q4 E
) w6 I8 m/ W+ N; U. o: v. f+ x0 ~7 I keep if ddy240>=r(max): s/ y" T$ Q+ C- @
. V8 g( r: N- M
sum dx240
+ g2 @4 `" D% g- Z* L( H' y
4 c+ j8 _) Y' p# K- g# R- d0 k local tempmaxp=r(max) 9 ]" R( l5 t% M: j$ [# |' x; n; T7 G
restore 5 v* D3 w* |; _" `& w5 m6 [
}' ?9 I& U! o: P4 }
! s7 |( h; |' h
( A+ s X& Y: |6 v8 a ; b$ G3 l; j2 r6 ~
- |& _1 Y, K1 S2 [6 W3 ]
gen maxp=`tempmaxp' in 11 @" S* z5 X6 T+ M
, t. L5 S6 E1 h) K, f r *240maxp
. v4 f. i& b. J# \/ o* k
7 R- p w0 F7 o* Y, v " f2 U0 a' f0 Q5 ~7 u
*-------------ddy240pminp左侧高峰值-----$ y* C, A! T8 H7 s) \7 f. i
: Y: `) T) `( c# X9 y
preserve
' P6 {; k7 M" m( w- b3 ^+ e ( i, n- k q1 A" G2 {$ d5 j
keep if dx240<`tempminp'8 K z6 [4 o$ m$ b
+ ^+ N5 k3 h8 P$ | keep if ddy240>0
& w: U ]. {7 |* Y
2 H# c' a1 I v* C8 B- C+ s' k1 v count
$ m! r* @" f# }; d7 m
3 O+ z( u- V1 C% O& y8 J' i3 A if r(N)>2 {$ s# r& Y& M) c! X
& h( I9 z F, {+ l, V0 Y
pkexamine dx240 ddy2408 A$ C9 Q9 L9 h% z- F$ M
( L/ l- s& G& P2 D: p/ s9 Y1 \
local tempminphddy240=r(tomc)
- i% P, `' J- q/ \8 }1 F2 p restore
, k, E7 }' V1 Z1 r1 o }
* q. v" H3 v% C
" c) x4 g- s' b else {8 ]+ q9 B" e" A# k
restore
4 ~! E( D% C( x% n" `( Z1 i. R2 v di "cannot find pminphddy240"
0 }) J, z t% S0 g; e& n# ^ * m9 L. v, ?9 x5 ~4 h% b% t
B5 R8 R. A$ Z sum dx240; O+ J2 ]$ D$ m) L" [
local tempminphddy240=r(mean) 9 E" X7 X* t/ J; T
: p5 K7 u9 `2 e( D0 M
5 N. n6 \2 |7 { b2 | }
m- S8 a( i! h, s. k6 H: | 3 ]5 l0 ^, \+ `' t- u
3 O0 D# e o# H; Q, T# A( Y; G1 \
3 T0 _6 ]3 c2 T/ F% r% D 2 y V# V- F" B( M
5 ?+ C* i5 I$ M7 ?! I) r. P
) i0 d) \1 o+ E8 \3 r gen pminphddy240=`tempminphddy240' in 14 V# X7 w2 b$ f0 t
6 E1 D- M7 ?* d4 e
: N4 K' Z& g) I) Z. K *-------------ddy240pminp右侧低峰值 ----------------- }5 z9 S: E/ x1 O+ D
preserve
2 @% l$ \& m, ~5 v/ [% c
3 Z' u# Z/ ?( V# I' O keep if dx240>`tempminp'
& C' X) F5 E( _- n: `, m* l
6 v/ X0 \! X3 T keep if dx240<`tempmaxp'. b: K2 u$ D" ]
" S$ T! @3 P) s: N2 R+ v
keep if ddy240<0
6 R4 t) b0 W# t9 d6 G$ O( X! I" T
Q; O( E4 L- n3 Y# E gen temddy240=-ddy240
+ Q) G$ h& j) m, Q6 h 8 d* n; G9 a3 h# b2 I c
count
' z d+ ]4 `! g( H% i. o* x/ P
# t3 y& i; O' ~' G+ W0 N if r(N)>2 {! F, }# U. S) C4 v. G# t' [7 g
U0 r& o! h0 G" f( S5 i' X
pkexamine dx240 temddy2404 G, i' q, O" g9 c1 w
# b) {/ b+ O9 A2 W# m9 H+ y
local tempminplddy240=r(tomc)
1 _) g6 f6 m& Y+ m$ f, ~ o1 i restore& U! ?0 u! Z2 ?9 Q% y
}3 T k0 {) A) w8 ?. Z
+ h% [8 d% \3 K else {1 b( g& y6 A3 A
: m; Z8 j' y* v, U9 } di "cannot find pminplddy240"" q5 B6 C8 O8 s* @
restore$ N! c+ D# Z) }% z
# H0 h4 N( G0 h8 \- h4 @ sum dx240
, X) D( `) e$ z local tempminplddy240=r(mean)8 c) Z3 f! x5 `1 ` p: {! r
7 ^7 j1 v+ Q) H6 v
$ y4 v' s8 V1 r }
* f0 V: n& {) ] : _$ s8 Y( h- M2 x7 m: f% m" V3 `& q
# B) K% |" e9 J; a
# H& B0 C* S. ~5 Z4 `7 X
( B! X7 A @8 T% \$ Q5 q " l4 J6 H& A% ~" n+ @& v0 ]
gen pminplddy240=`tempminplddy240' in 1
& b/ t5 d. Q+ Y2 S
8 F7 x% f5 L: @7 S0 W *-------------ddy240pmaxp左侧高峰值 -------------------; m% x- Z' b' [' h- N2 h0 c% k
; I1 G" u4 q0 u- Z! l preserve 0 D _3 G0 {' B9 @$ e/ M" H/ j6 E
I% _. G( f! C ]% f. A; l keep if dx240>`tempminp'* ~, y( C' A3 L0 W9 W) e1 D
# c4 I6 z6 m4 c
keep if dx240<`tempmaxp'5 q0 h+ X9 c+ b/ f$ ~' T7 S5 l
: V& n+ v) @( V# z
keep if ddy240>0$ q+ j- Y+ Q2 N% K" z- L8 Y+ {
count! q0 Z |4 j9 o) [* Q
$ ?4 q0 ` `, g. }! |' V
if r(N)>2 {0 P: O. C0 v Z* c' E- x- d! o
) }# M, `9 a3 D G9 t* d1 D pkexamine dx240 ddy240; J% M) T1 Y" Z9 [2 o; Q$ @
7 P! q6 n; _6 j; U* Q
local tempmaxphddy240=r(tomc) ' ]/ N Y) K; V" \! m( ]
! F8 ^' ^2 s/ P4 f7 ^% B
restore
/ J/ u( X7 Y" a9 P2 d }
4 b6 [) D0 O) G9 m3 [
% H$ @& F ]1 r' p else {; g; z2 Q# L3 o8 G
' i; i! c8 R* I1 f) P, ]
di "cannot find pmaxphddy240". A3 [" O$ v/ _9 T" }
restore
' M. S) G/ H, J! \1 J; ?( f / _/ ^! R0 d: ~1 y8 z4 ~
sum dx240" t7 `& c5 p& b3 ]
local tempmaxphddy240=r(mean)
: |5 I: c& J0 i% j6 V* v
. n# k& |& m; H% [; N& `$ K - o! y) V* P5 J+ W1 h0 n) _2 j
}
x1 b% I' _$ Q7 x* n
6 Z; w# g- A1 c; c1 `7 @ % r7 X e+ W# `/ j. G! M/ O- s! w* o
2 K5 g9 V F$ W: A" U- [4 G
& }% s$ Y: C4 q
i: a$ k9 [7 z ' l# M4 y) y( e* B& ~( \5 J
gen pmaxphddy240=`tempmaxphddy240' in 15 J+ q' G6 _& u$ B
4 v8 }+ C! I* A$ h: b ^
& B' _; Y v6 H+ w+ Q, r *-------------ddy240pmaxp右侧低峰值 -------------------( f& K8 p( H1 `/ T( }& B
8 U3 N8 s. T7 T6 [2 W5 o$ B
preserve
5 A6 O' D: C9 r + X) E# l/ Q5 C& Q
keep if dx240>`tempmaxp'
- @; X& ]3 f- L
4 r6 h0 u% L$ f; o7 U gen temddy240=-ddy240
( H# W: r( G; i' d l
( ~9 L- {3 b) } t keep if temddy240>0: Q- A( U1 Q: s' w
4 q5 o! v5 O" d0 q7 r* Z6 \' P+ r
count' A4 V. U, f9 z0 Y9 i% [7 R
6 a* J/ ^7 r' w% l% e+ w4 T if r(N)>2 {- ~, f% j# D- u" ^% }) X) X. t
- Q2 o9 N5 X: @2 G/ o6 n
pkexamine dx240 temddy240+ B ~- U+ E2 ~# _: [
/ e/ f6 R. D' K8 R" c! ?/ B; o local tempmaxplddy240=r(tomc)
* }. w# ]9 U/ M, Y) `6 B; R restore
" V, \* c* @0 `5 W6 } }1 G9 x9 n8 S6 F) o
( w. y! ~- _6 a% [+ O' F/ n( B else {! _/ |' Y9 \& r/ e3 T0 u
restore
y4 o' m( ~ M y$ A di "cannot find pmaxlhddy240"" O% M( t0 \: k* m- c z
6 W' v# e3 n1 O1 j
* j$ I3 E6 S6 g/ ^3 \$ W6 R! y
sum dx240
! x- M8 c; w$ G+ t [* [ local tempmaxplddy240=r(mean) in 1
7 Q- F- W2 s5 N8 D. m 8 _# B1 D) y9 F; s) n
* _6 i9 C6 y. u# j+ a0 v# Q
}
8 ~% c0 i0 R! i
9 g3 d2 p0 @* _ - o m" R6 W9 M$ ~# y. F9 z& {0 L1 d
9 |* M4 q, L; F% w# M 2 T5 d: j' N8 E
, O' O" |% J8 q" g7 G1 i
' G \8 L7 ]' z: x8 s gen pmaxplddy240=`tempmaxphddy240' in 1 F* Q, _" @# ~8 R, X3 i, P
1 I+ V2 ^( W( K- C- I8 d6 c *-------------------------------------7 ?; k# ]6 [/ v
* z* d) T P, S* h
gen price5d=v5 in 1/20
1 ^* @2 y$ ?' x+ G8 K 9 n2 b+ y( z! K+ w+ ?1 k
gen price5yy=_n in 1/20! s3 j: X% U5 U* s( |
' t2 e3 V# u; |& s gen price5y=price5yy*(dy240max-dy240min)/203 h- ~% ~$ V# ? x/ x
3 [1 H( g) l% H. J0 k% W, s7 Z *price5y &price5d+ M2 T+ }; X2 r, K, O0 X
2 c9 `. r; ]+ w2 A# g" o! O
gen priceny=price5y in 1
, R: C# H$ P9 z% V* {) L- ]- b 2 U9 {. a2 E: h2 M
gen pricen=v5 in 1
# N( ]0 J4 m' P* ^ T8 p
' J1 k" h# F( g. d5 B
3 d! ]/ q4 Q. e3 I1 ~ *priceny &pricen W; d B3 z1 @
$ ~9 }: H* x6 A% {* Q( c Q7 w( u$ i! e/ v$ y
*-------------------------graph------------------+ U- ?, Z- V! @6 S* v& d3 ^
& P7 A! P# x5 ` 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 p v/ g% B* A. v6 l" Y
+ B5 C" W3 t p) Z: A/ x
* ---------可选项目----------------------9 |5 w7 j) r7 ^2 z8 X4 e
0 _3 G% w5 z0 L' c0 B
}
6 J+ B, @4 n$ S9 l" C/ ]7 v8 Nend
: B2 {+ W/ C5 Y( E% }0 e |
|