|
|
改了一下,这次运算应该没啥问题了6 p W% F1 o: S3 c- m
4 n! D/ {+ Y& n, {+ d
, e5 q0 Z5 a: w& z- ~! }; Zcapture program drop hello
- R8 n5 m$ t$ x J5 A( K( G( L- E4 x
program hello3 v5 H6 |7 y) _7 ~0 _+ F& Y
4 j8 ?$ Q* m6 |6 Q quietly {0 Z! Z0 p/ {0 O/ V( k0 M/ L) N
; V! p# j6 B" x8 i" z
clear: G3 Z0 Z/ x0 ?4 E5 N8 l
2 k {1 l) ?5 K) I& G2 n. tcd e:\finance\stock\20110101\source
0 w" ]- b3 ^$ n0 H" r, M" @2 e0 [9 a4 T1 z' |
insheet using `1'.txt" ~2 i, G7 ]7 ~8 ]% L. Q
$ `4 E; ]6 u1 h. l2 l) _ keep if v5>0
+ D( B( R- a0 v/ S, H6 p% d1 K
# h+ s/ n$ \1 S" y& L gen vt=_n
. y' e( i! X% ~9 { ' q2 F0 h* [0 ~4 C. l
tsset vt! Y# W9 r* w3 A/ q( [
0 c9 e0 J; H, l# X5 ^9 R) h* Z gen zf=D1.v5
( M$ |' D! c" W6 ^
p6 l/ U: @0 U Y4 Z$ O0 B4 a gsort -v1+ y! e6 Y2 U, t4 q4 e2 X8 ?: N Z
6 p& E% [- V2 ?
gen avol=v7/v5" F n. J& n a* \7 e% R. U
$ z# B) K% X+ W, y, K% V
keep if avol>0# T- A) O' L( p% |. B+ d- r
$ K4 |7 m O1 m2 f& A; k
drop vt0 N3 V5 y* t6 f/ e
. w& \ Z7 @* E* c' i2 A- D' N7 G3 y
gen vt=_n: D+ E# z2 v& V) B+ b; e
3 `9 D. l& _* i6 [3 {3 Z5 |" y tsset vt
( B5 O c F6 h" S% E) a5 c
2 S( R# c' C/ ^! H8 a" z: I; k sum v5 [aw =avol]% X! E, m9 j8 r8 ]+ _1 Q
- I! o9 \2 q7 B2 U& C1 z0 d5 T0 I gen amean=r(mean) in 1, j5 H9 {' }+ c2 }! l: v
* C# q; v9 \' D$ [( E l
* 总加权平均值 amean0 P- v) `' |0 b0 P. M0 e
5 O( t: F, r0 m2 d( |0 _ 9 y r/ Q8 _- m9 m5 g: o3 ]
keep in 1/2408 Y# r0 d$ U# T6 @; E+ K
' [ K( w, l1 } sum v5 [aw =avol]* ]4 d1 G0 c" _
6 ]* T3 g @9 ?# J; F0 K
gen mean240=r(mean) in 1
' v; l( h: ?3 w/ R8 q# }' F
0 z! D+ Y/ j& \& U0 {. G3 [ *240加权平均值 mean240
5 E. m" L5 q* X- {
/ m7 | A9 r' p9 F set obs 500 : ?/ q ^! s9 j/ Q9 D5 k$ S
, l! f$ M n9 c( M
kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph! j( g: Y- S/ M2 w5 ]. t
& }8 H5 u1 f* m5 m+ F/ h *240 kdensity(dx240 dy240)
$ u, w+ K( r. D- e; \. Q+ q , M) K# z* b+ B5 R7 N/ h$ g
sum dy240
4 o. Z3 M5 V8 s! @
7 X8 r6 L4 @5 q$ r& R( C5 t% X gen yxis=r(max) in 1
$ D3 ]. v% K3 P' i, q
( h$ T) M9 Q J9 O gen yxis2=yxis/2! }8 V. Z$ D% y- r0 l; g$ P5 \
5 Y' Q1 Q: [& j5 K& \- h& C. d
*yxis9 A+ |$ _! ~ y
+ C% f* @& \! H$ g$ w/ Z D
gen dy240max=r(max)
" C8 ?' @, C; p; x8 C 9 u+ j2 W. u! ^; G
gen dy240minp=r(min); x0 R0 V, }* v& c) ^1 h
" `4 g4 Z" x$ l! d2 w gen vtt=_n
w# x% J7 R5 L! K7 i! y) E3 e: ^8 W: V7 w9 B8 Z! V P! ~) W
tsset vtt, A7 o t- _+ p3 L9 Z% K0 A
: |8 W$ a; V2 H2 i- E
gen ddy240=D1.dy240/D1.dx2409 A4 q% ~0 u( |0 F: Z+ `7 `2 O0 V
% X' m% \5 o' k. O- C1 u( `0 |
sum ddy240' k! K% y6 X6 v! B, X
4 q7 Y9 F' B/ L8 p gen ddy240max=r(max)5 }* m0 G2 W9 L& X/ y4 w2 T3 N D
( R& P1 \0 M# g! z# _6 H3 A* m
gen ddy240min=r(min)
( e. N; D, d( e7 E1 M2 F/ R& H 4 G8 J9 s9 ^( h& w5 T6 |& e' n
gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)5 N" {, Z2 I+ L2 N
1 {. `% ]1 Y# `# ]
sum ddy240g! R5 _4 `5 e) T9 r c
+ @, @6 ]* w; k. L gen yxis3=r(min) in 1
' j# V5 c" U' o4 k% A: B2 v( B+ L
7 R5 C1 Q5 \4 @" [+ R, \ gen yxis4=0 in 1
6 N- A$ P' F9 R# H0 _
B: c: X( p8 { *ddy240g 4 s0 f: S( L- t+ P+ U0 b! {( r
. y" D1 e6 _; \! y8 m
3 P. d# i/ t. d0 {" m& G. F) _+ b
preserve
9 h$ L6 J' \3 [& ]9 ` 2 o7 y" D9 ]9 H% B; e. X+ o& G; t
sum v5 [aw =avol]# H( _! r% u- f" \ f
/ u/ _6 G5 M2 \) Q; z
keep if dx240<r(mean)) i, D( L. F) O. ]
+ [) f. \- _) G4 U; Q sum ddy240 X" S# u: k2 l! `0 W
! m& B% C6 \# |% m( L: b0 h if r(min)<0 {
4 y: |- ], l) M) {
' C' o0 E1 D) @. d6 A8 ]: W$ F keep if ddy240<=0
; C/ o. ]& E) o o 2 ?$ y. S# ]/ I4 E# a( M
count
' [& M l. }$ H$ R; v$ m / m$ `- y8 _- C# V5 h0 ?9 p
if r(N)>2 {
! m5 f4 g$ Y( c- b% b $ N. }: ]- _7 k5 M- E8 Q+ k
pkexamine dx240 dy240. j2 G+ u- }5 M" G
. U# c1 w& A: B5 j% e4 e+ M
local tempminp=r(tomc)
' @3 a2 j8 Y3 i restore 6 L: H' H9 E" E- k# m7 \
}6 X- N1 @& K4 g: L
7 z2 v$ e1 d& z) W& {4 g" x7 E
else {
! }# x4 J& z2 @/ s$ h ( ?0 i0 _2 I. v* ~5 z
di "cannot find minp"
$ R: _3 g1 r" h. {$ j
) Q* g: i) C8 H( a5 @$ {4 N: k- g, f% ]. S restore 8 h- H) ~/ t! g3 I v. T, U) D
sum dx2404 X% v& H, E, o$ Q# V& q: B- \
local tempminp=r(mean)
3 z8 [7 a) h5 Z) W , u" I1 t% O# t+ i- S3 p
}: f# u) j/ y4 u- b, u" a
}* @4 J( r! h3 C( X o! g0 U o
else {
3 O x/ i* t: C8 m! W/ Q
4 T, b4 a9 o+ S+ d1 {" ]; e keep if ddy240<=r(min)
( S$ `. A+ \! q0 v+ n O u! `
5 ?$ h, F8 \, q, ~9 X2 H sum dx240$ {6 g8 t: R' v! [! H4 E
9 S8 b0 r6 }6 h6 S7 B' w
local tempminp=r(min)
. m% ?$ A4 ~/ t6 q restore
9 x4 ?0 U/ W" U5 l" G9 D) O6 b7 R }7 n$ a, e+ s& H- e7 }
# ?0 G2 w, t1 S O: a& O9 K0 L
- m& _' O- |1 N+ s: ~0 I
1 T, [) Z4 u# m
gen minp=`tempminp' in 1
n8 c$ a# `6 H *240 minp
4 b& e" V7 ~$ s6 l8 g& h9 j0 I: e0 Z; g
) P6 K* k; R6 M 1 B/ g G$ q9 Z" m" n' t( _
preserve
! c5 Y! M0 K$ }; E8 V
& X* v6 a: g! H/ y& ]! L sum v5 [aw =avol]
7 t) g6 J$ J$ `4 E' n; C 4 n9 M8 K2 j) z! K; Z- r" z! d
keep if dx240>r(mean)5 j5 p/ Y* W0 j( Y& \3 W/ \% w+ i1 a
2 G& T' n; ~* Y W; U. H" }3 T! d/ U, C4 x- w sum ddy240( z1 _# o3 ~ i* H! w- O/ |5 z W
+ R3 i6 K6 y/ |0 x
if r(max)>0 {
2 q7 n. D$ E5 t+ |2 D: u- t9 C
* H! `9 e; j9 r" j$ N" e) D3 t keep if ddy240>=00 d2 Q* d, Q9 p* b4 N# `) c
. A. @& `) O, P+ {
count
! A5 i' c9 N+ P Z G2 ~ K& E/ F- Z
if r(N)>2 {8 `; m7 N* D1 |& o0 |+ _9 R
% N3 b8 Y4 G: u9 L y3 f; z3 @2 A
pkexamine dx240 dy2404 D; a% b) }9 m0 k5 w6 H
0 }' \5 |$ [# T8 u local tempmaxp=r(tomc)
! D6 f# N, ^% A; k R# L restore . V; V4 E; {" B, T- f# _2 B
}
0 H/ Z5 Y7 i1 g6 l6 o
+ L2 B, E5 N) D* s# H 1 r: r/ W1 {. t, X' \& O$ `
else {
+ R$ b' z( j3 T$ B$ l restore
* W# K# B% I5 S/ z; i3 L+ | di "cannot find maxp"
0 }6 b! X }- z; b# K5 Z& z+ z
! Z& s9 o4 _7 ?3 Q 6 M9 H5 D4 b) C. u
sum dx240" c2 w. r. x& i) `* V3 t1 r& G0 o
local tempmaxp=r(mean)
! B u8 S5 g+ M+ ~( H9 b0 h3 d . h; u/ {2 S. V: r8 x- W
}" X1 L0 ]3 f2 _0 P' X
6 D7 D0 I% ^6 I
}" B. i6 Y' A; ?4 s+ R r/ `, t
& w5 {, e" D/ y6 ?" g: \. | else {
6 R! }3 H! K. ?
! l2 l7 v" s3 K9 A7 o3 U# y) ` keep if ddy240>=r(max)7 T) k1 k' x% I; K8 H
, J$ r- H* M R+ _) p
sum dx240
. H3 S3 o6 C3 ~0 t9 `# ~/ ^ - s* B0 }1 f9 a _% E
local tempmaxp=r(max) + f; j- j! ~2 }! s1 b
restore + P7 L# }/ `( q0 o7 D
}9 I; R7 ~: |, w* y* Y1 r; Y1 t
% Y2 n( ?& H7 @; k% v7 D
+ e8 i: v; `! B3 s
6 B5 c3 D; u( `6 H( b/ }3 R' F) {' {& M% U+ Q; C m4 C& m
gen maxp=`tempmaxp' in 1
0 B: `1 N( f1 ?. \+ H ( [1 U1 b i; m( N) ^* Y
*240maxp! y K) C& i7 s; P- R: E2 P4 W
- Q8 h& F% Y I % p( S2 a( a1 A+ m, r
*-------------ddy240pminp左侧高峰值-----8 I4 Z; |# u" t# ^) l& j1 G
$ M4 v! z6 i3 O9 |/ { preserve ) D; Z8 s" o) J, N2 C8 Q
/ T8 F. a- O% y1 I Z keep if dx240<`tempminp'3 U. p" |+ p9 y. b' ?# Q# K7 F6 L9 B
+ K8 t. C$ R% g; f2 s keep if ddy240>0
4 b5 w) ]- o8 R3 C" T8 l1 c6 w
4 ^) p& N+ E+ j d- @ c count: X; r8 p/ _# l. y* N
: Y8 i- S: S# h9 {; A7 `
if r(N)>2 {8 D m$ b' Y5 b, l
7 z% ^! K5 s% |& M# H/ | pkexamine dx240 ddy240
: C+ x- V( a$ R: n
# w$ d3 Y: }* [$ E& ~, m5 {1 r local tempminphddy240=r(tomc) 2 ` L/ g, I- ` _ ]- _! s! b
restore" ?$ r5 Y! w3 Z% g
}1 R: Q/ w2 G' e% e( x; Z; `7 d
# i h0 ~2 Z, U& \" f% A else {
) ], I$ e3 v! M$ P2 K" W restore
; r$ ~. O2 h- p+ |7 h- u di "cannot find pminphddy240"
k( A% n1 Q1 \! X6 J. x9 f 2 ?) s9 o. r0 L5 A, O9 r: F
) H# i* ~% R4 ]
sum dx2402 V$ x" \% H# `! O0 y8 l) z6 h/ H
local tempminphddy240=r(mean) / M8 S1 p* d/ B F7 m' V- h
1 }8 [/ a& C1 z' t1 ~8 \
% O* U! E3 \/ `, m }3 Y* |/ R! j2 F0 d9 A' \2 y
W i$ `* g8 X! S# n0 r 3 Y8 E* K# K& [1 S! @" u
* t/ _ e% s$ B+ `: r$ b, O
. T; `; `1 b/ s5 P* T# f/ Q
3 f+ z, u, e! g; N) d E% N3 z( B
# z7 K1 K; |5 v7 s3 E& W7 j* L gen pminphddy240=`tempminphddy240' in 16 r6 O+ @7 ^/ t" ^) b* g
# W( I5 @4 [' \# p; i! V
1 ]) h! D, U$ e *-------------ddy240pminp右侧低峰值 -----------------
5 V9 X4 o4 l' Y' M preserve . D" |+ {$ ?/ N V
% V [/ ^: Q' w0 ?
keep if dx240>`tempminp'3 _( @8 S1 T! j# p( ~" K" t. a2 T2 S
, N( H( k1 M; `" e" }- D& {1 v keep if dx240<`tempmaxp'
0 T Z% ~; j4 W! c$ S7 N
: T2 Y& V( m% B6 \3 O* R keep if ddy240<0' ]4 L. k: W8 |+ X5 [- ?2 b
$ D8 U. L' }$ V, A; G
gen temddy240=-ddy240
! J( @0 Q& b7 X; P% _) c# U 2 I( Z' I" ]- Q5 F7 S9 i
count
+ p! d7 o( H0 Y( @# L ) N0 j t2 Q( ~5 I6 s5 U
if r(N)>2 {
) Z0 U) D$ u) R2 I- |
1 F9 p: ]4 Q4 Y3 B8 b pkexamine dx240 temddy240
* e) X' B7 u- U
% b% X& d, u6 M x- }0 ~, m local tempminplddy240=r(tomc)! m: V4 {$ W2 S/ o p! i
restore
* f8 c m, d5 t. D }
) S; K6 U# z" e5 u1 G9 u & u g4 c" \/ F7 H) t4 e
else {
/ i* [- ^ `) i4 Y8 U
3 r0 \7 o7 g7 D: d6 t& \ di "cannot find pminplddy240"$ X; j+ s; ~& u3 k# o: V: I" S. b
restore
9 ]. B: G0 j4 _' X- j
, M. J) t' d' F4 X4 {! ?6 B3 o sum dx2404 W! K7 X& z3 M' L
local tempminplddy240=r(mean)) ^( n- t$ P" x/ T# y$ }0 Z4 m
7 U2 L7 p0 \9 Z8 R$ i+ ^+ W4 f
' w% ]" ]0 l& I& y, r/ e: X }
0 [& S F8 I! ^ N
9 e0 E$ {' @& o ! n! ]" r. n# Z2 m1 a) M
/ j' m$ T: w( K5 W0 }6 Q
X+ U% F1 D; v, [- c5 P4 M; B2 X; {
9 X5 w X! [8 [/ I: L$ }" ]) e% n5 \ gen pminplddy240=`tempminplddy240' in 14 q. D* ~: ^: I% H: y
$ g2 G3 E. o1 y2 Y! n *-------------ddy240pmaxp左侧高峰值 -------------------# ^% U2 q# c2 r2 _$ `
1 v! k3 X' {& C
preserve 3 l* J" s; P/ m6 ~6 ^, g0 E# h/ N
4 i2 {. r1 q ~5 y
keep if dx240>`tempminp'
2 o2 S9 v0 S% s ' a% I" @ R- ^3 ~' z& R
keep if dx240<`tempmaxp'
) S4 W* _5 z! l/ ]2 N/ h" }, \
4 H* V+ x; ?* I# C8 Q keep if ddy240>0/ R& `8 c: L+ W" ~4 Q# n
count
9 m) Z. o# L. K% \; [ ! T& [+ ?! `+ z' V/ x
if r(N)>2 {- r3 q% ?/ F' V5 _
$ e0 B B* _% l c% H3 J) g3 U/ ? pkexamine dx240 ddy240
7 O9 b% v/ a# w1 U4 E 3 Q* e+ r+ D( K$ M1 P
local tempmaxphddy240=r(tomc)
9 v6 |+ K1 N$ R+ S
; Y/ j! a; z' Y' k, o7 O0 m* F; I: e restore
. [* Q1 Q$ [* G9 F9 \: x }3 m L: o F4 ^$ Z
2 n3 f# f3 H5 | else {" n7 B% z7 f3 L
& r* g$ m) W( Y' D4 ]7 e di "cannot find pmaxphddy240"
# u) Q* F! Q! Z A8 r0 v restore# C) z, [% l( x, |& v' s
# ^, `) l& n/ _# }: T% ] G$ _6 y
sum dx2409 z+ {4 y5 r1 U) l z' y
local tempmaxphddy240=r(mean)
$ ? J; G( P9 |+ J
' A- L$ {# c0 X% ^' n 2 V+ S8 _% q$ _6 f4 d7 `5 O4 c
}/ ^$ g" E+ w3 u' {1 [
5 W9 R4 V, G9 f( Y+ D$ T
# f8 N' q7 a+ I
% l7 n Z! g6 ] M : ~/ C2 L* M Y, g. c$ L( F
7 ?, \9 D4 o# w' H4 ?! T * `9 G$ Q% _9 l6 L: b( e, D
gen pmaxphddy240=`tempmaxphddy240' in 1
- Z: l* O) [) G. ?+ E3 K $ `! z, j- W8 i; J6 o5 x! S! V
6 C* T: X& {8 X* u6 I l! h
*-------------ddy240pmaxp右侧低峰值 -------------------$ z) ^ j& k) b1 d" \7 z
8 O+ B* E' E& c preserve s$ [2 r) S7 J0 {- f5 ?: y
6 V1 i. c. W2 _8 K- _1 u keep if dx240>`tempmaxp'& V8 K- h+ A( i& t' Q0 k
9 l; Z3 }, L+ C
gen temddy240=-ddy240
( k1 ^7 m& P9 J
, {1 E/ N8 J1 a) O keep if temddy240>0
+ r* A2 S6 [8 H. ?" U! Q 0 V7 J) x) G4 b& i, M: k4 p
count
; ~/ w+ V9 x6 @& p) Z) a. J 7 t" m% t5 t6 V5 b+ _0 h& u' n
if r(N)>2 {: T# F \ Y- P7 Z
2 c3 Q7 K* [4 C1 X/ w' I% a6 q- ^ C pkexamine dx240 temddy240
0 X! {+ O K1 g1 j. P , O n! c! K# ], a
local tempmaxplddy240=r(tomc)
* M: d! ]$ R1 K3 O+ a( t restore$ `. ]* O, a7 o8 S
}9 K; Y8 s4 ], z2 e
7 C1 }7 ?) n8 s: C* J1 J
else {
+ X3 o5 q4 v' o# T. m2 x restore7 [: I- }6 J( `. }) a
di "cannot find pmaxlhddy240"- K! W( i _9 j* E. A2 c: ]) E8 L
3 R1 V: Q2 {, N1 x# v; Y/ G
: ^3 b" z) f/ a3 p+ n6 m sum dx2409 R' V4 g* y* Q6 g9 n8 @1 m4 h
local tempmaxplddy240=r(mean) in 1
/ z7 V& A# r" Z1 M
# b/ J) p/ r" X 8 B% L7 {6 Z: I6 j1 B- ]2 ^3 e
}
* Z" c8 Y% c; t7 F! o4 h- J
0 j$ ^; v# y) A3 h* Y; T
; N1 \& M% b% k" c. P! H o
2 j, I; i1 w% @* r
6 M0 J( P1 t/ X" J4 h* N . }* b" k" W9 U. n* U
' E; t5 h* \2 b( B' k9 U gen pmaxplddy240=`tempmaxphddy240' in 1
& `0 a4 O i7 v4 E6 U0 G2 N
4 o; s" w) i+ b1 d4 j *-------------------------------------0 m. ^. [/ w: n% \6 e
1 o0 b" s: p. p: |. Z4 Y* ^ gen price5d=v5 in 1/20
2 U0 R2 e& S: r# k+ `5 `* D# [
* `' G# C2 G0 {4 ~2 k9 a, Q+ \7 K/ D! s gen price5yy=_n in 1/20
3 }$ { A: r7 A$ [$ M2 o
* L9 U! j% Y" u; d) C x* O gen price5y=price5yy*(dy240max-dy240min)/208 z6 ^/ a/ q; |* N0 V4 b5 @
, |: I1 Q% k9 B8 j* r& a, D1 O' m; ~2 h
*price5y &price5d
* N* R; m2 S+ v+ f) A * p F( C/ z F$ Y) k7 I
gen priceny=price5y in 1
1 Y0 o. R2 u/ l$ B( K ( M( K" p" Y+ C0 c$ L5 ]
gen pricen=v5 in 1% f5 P, T: [" R& G d+ _. ]. H
1 P1 ~6 I' O# l6 d0 |
6 R; N: @2 w( t/ h* p+ G *priceny &pricen1 W& N, G. |+ Q, J/ n6 M+ G) O, c
: h( t9 \# G) U: {& ` 4 R5 S/ b- F+ l( q+ c& o
*-------------------------graph------------------
) t; ~$ ^* z) r+ y0 y 6 @1 i: \! f" Z
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)
/ b5 F6 ^2 ]" h7 h
" R8 M( Y" \) l& g. [* ---------可选项目----------------------7 y7 Z, A( a3 n+ f5 B; B3 f
" }2 `2 u; Y+ C* e5 L4 a0 q: t
}
# h. s) `" V. ? z1 nend0 {& V2 ^1 p2 s1 u v* {
|
|