|
改了一下,这次运算应该没啥问题了
' h3 K9 u* f6 k" F& f, o' Q5 ]$ e
! G( K- m: _! a! o" A
+ @% d4 H5 }* @& h3 rcapture program drop hello
* ]% i9 n* b7 r3 e1 m& y8 Q& b, F) L" Q7 O t& Z
program hello
1 l* F$ a0 {7 m& E
/ j9 W9 V. g& F5 T quietly {
2 D, g( N/ a9 v0 r# `! s Y) o! K- G/ H/ F
clear
' _0 y+ S% L3 u! x# P
+ M6 J% D' R) N$ `5 scd e:\finance\stock\20110101\source
% x/ s8 W4 t; \$ W; b: l* n8 y0 }2 L2 n( L% u$ ^0 G
insheet using `1'.txt/ s" l- ?, l7 T1 E/ i$ U
3 C- F. T+ }5 ^1 c: J9 z2 q keep if v5>0& r- g1 U' U* k" Y$ J
0 s' i2 C5 O X1 [
gen vt=_n
1 k/ n3 P" j4 X- ` * N, M! a7 q" w( v5 T
tsset vt& w+ p# m3 e3 R+ `
; g L' ^2 R' s gen zf=D1.v5+ D9 U6 d9 W# W: i4 o0 A6 n1 R- `8 Z
& \: R" G+ L3 k- k7 q x# E gsort -v1
5 p! N5 {) l5 s% k3 M5 U4 a' u6 [ p4 E' J I2 G I: R# o
gen avol=v7/v5( W! P4 j0 z* g; `/ u4 Z
5 a# R6 K, D6 P$ o
keep if avol>0
" ?% F! n4 z/ ]6 V7 l* }- F
+ Z, X7 {0 h L; {* d drop vt
: O; j- A% l/ s: V: S' W3 R* {
' n/ _) b7 [- R( Y$ L n' h D5 e, W gen vt=_n7 {$ Q2 \. o6 F; y; n( \
% ?, L. R" y& a' @# C tsset vt
8 U) L( r# z- l! b7 f Z; k, u3 W 4 J7 o% K! T7 J
sum v5 [aw =avol]
c3 G5 J, c" B: Q
8 b' ~8 c" L/ Z( N% F gen amean=r(mean) in 1
- j9 {7 M/ k$ E2 R * I2 r' ]; H% j9 h' V, y; k# G
* 总加权平均值 amean
* o2 x# |; |/ ~( P! U5 N
7 _6 T2 k% J3 d
+ _' J/ Y a! ]& G2 G keep in 1/2407 e$ S9 Q4 D, h' Q& W2 z% p; X2 a
7 |" u! e7 F, @ H+ P4 _
sum v5 [aw =avol]
: J7 g9 Y0 R3 Z# @5 o7 |: |3 R: q8 X u# c7 }
gen mean240=r(mean) in 1
) m$ _1 h7 R/ V7 r$ J W2 F" w+ a8 ?& B% E- v5 O
*240加权平均值 mean240
; ?% p% [# E$ U/ ` 5 z1 w% P9 E. K. z. S7 `, {/ F
set obs 500 & N% m4 [+ D& C: @% A
! k" L6 H# H% O) y% Y
kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph( B9 w- T( ?4 z0 Z+ V+ w" h6 d- T
4 K3 S. d; q4 A/ n" h *240 kdensity(dx240 dy240)9 V7 V( F7 ^& Y* y* _ a) }/ s# g
4 q5 a) j: R5 U) ? sum dy240$ [4 F5 l" t( M3 L
- z% y- b0 G& l1 s$ R" W
gen yxis=r(max) in 1
* R3 K) Y1 f0 O , \6 F4 u9 g2 j
gen yxis2=yxis/2
( P+ G3 K- B' n9 l+ \ $ i* F% G5 a) w
*yxis
5 n4 r q7 T% P/ z' j7 N ; v2 s( O3 P3 m r; Y3 _5 V6 L
gen dy240max=r(max)
. U- [& H, l3 @ 3 {6 P$ f1 u* ]
gen dy240minp=r(min)4 h3 B# r, J# a/ g6 a4 v; B
; B7 ~2 X7 n) |* x: M( o8 c gen vtt=_n
$ n7 m2 S' `+ n1 m
# X; U9 t/ ?$ w5 w, ^7 n1 J& u tsset vtt9 ?7 K5 v8 B5 x( T m7 N7 \
' i9 ?' ]& o: v- n* U/ o! }* {% n$ |3 U gen ddy240=D1.dy240/D1.dx240
3 r8 v. N9 ?. I& C
' |+ C6 C6 w9 T) ~ sum ddy240
; r, x. b0 ~/ Z" p" d, h+ ] ; B% q& `6 Q- ^7 p6 q
gen ddy240max=r(max)5 t( j( F/ X, d) l6 I; `* v7 [3 ~* f
: {' o& x4 |5 E1 [8 N7 V
gen ddy240min=r(min)4 F! H0 G* }9 H* s" U2 _$ J% a
& K& m0 m/ q5 `. B5 w
gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)- a% O( s) t p: w" [: H
* m3 ^- g! S4 Z2 t8 m# _ sum ddy240g
& _ q7 \2 i0 m0 g# e2 k
; N) K( N9 a n1 R5 | gen yxis3=r(min) in 1
c2 G8 L& f6 a
. v' [: f* [1 Q I gen yxis4=0 in 1& a/ i9 G2 Q- F* U( @5 r
, i/ b. `1 ? j) m) } *ddy240g z' j; l% l" b, V( u5 m& M
3 }" S: R4 c W; I
) [, k" V* K( N+ K* i, a1 L preserve
9 t8 j8 A5 M' f' A: ? ; K( h7 J, ^$ G! _4 ~: B1 b
sum v5 [aw =avol]* a' H3 p4 Y5 R. V# M2 @3 b" I/ W
( [# G$ Z; b( _( g! T! ^1 c8 Z
keep if dx240<r(mean). [7 } Q8 s! c' a$ d+ Z, [' C$ _* ?
' n9 g5 E6 U! C& n9 g5 ^; f sum ddy240
- `2 v- r& u' \: E7 R ( \3 b7 u/ B: k9 o2 t: v) B
if r(min)<0 {' d: C9 M9 h2 x7 W5 u3 @% w
# {' u7 l8 |7 J) t) J; q
keep if ddy240<=0% o. z; Z7 K7 Z" w* C7 B3 L
$ V U3 r3 p5 p9 o$ X count) q; g/ r$ y9 U& x# W/ R3 _0 B0 k
- D0 q4 Q8 J, g1 |& {
if r(N)>2 {
6 p! u0 @* W( b v4 h # Q( B' t0 G0 m- g& J
pkexamine dx240 dy240
# c C: s2 p3 S! X0 c1 y. L9 d
# W3 m2 j5 O, M: _' ^8 q/ c local tempminp=r(tomc)9 n& Q1 K' d, ?0 k% O
restore
& b C& R5 f" A9 R }% O4 G" Q0 ?6 f# v
) F* F+ ^" j7 f) h
else {
0 q _8 F) U' v$ o- ?
; G. u7 b7 |( d di "cannot find minp" `6 u$ m8 w$ P- T# p9 a: D
5 b6 @ L7 A L2 t2 e. H+ D
restore
# \5 c" m: G4 _# R; L6 z/ S, {2 { sum dx240
& f6 |# b" o" | local tempminp=r(mean)
4 a8 \" v: H& Z* G2 b5 ^ l4 C
# n8 e4 e6 h( ~2 B6 G* V }
' ? V! x0 S) R" _) u } w) f5 \$ p/ N3 a H; ?, S h
else {
- m v. Y, X* i# |; p( h + a' l6 J8 t3 E- V/ u$ i4 _9 E
keep if ddy240<=r(min)
" N, g8 g, R& Y" X9 Q( o 9 a0 u3 ^! }7 m% U6 ?; ?- y( o. Z1 T
sum dx240) r7 P% L4 t! z5 f# y' I( ~
% f% s! @* B" G6 k' }! M
local tempminp=r(min)
( a/ z8 N9 f8 g3 w+ p restore V' k5 n0 T; _& W
}
& k+ v: m/ B& A, ~$ v
; r2 q/ b! B' } g, f/ Y
: e! W% E2 Y3 p$ V7 Z# V1 u' @; x( o8 w! D; q* U3 z7 {
gen minp=`tempminp' in 1
3 t! B1 J3 S4 s+ `3 I *240 minp' K( L$ l! A1 E6 O @/ G9 {
$ U9 G$ Y" S5 J/ ^7 V n7 P
; q$ g" v+ H1 M( [7 o
1 g" N: ^7 }. k/ D9 K% X( J preserve
( A* h# a" Z5 y; i0 Y$ ^6 V- N
% r$ ]# [! R) ?" E6 [" M sum v5 [aw =avol]
" ~, g* D" g: E+ K' ?. [4 ?0 O " ?+ l" ?2 w5 W+ B1 m, X: Q1 }
keep if dx240>r(mean)
# `9 l6 H$ Y% `
' B% @4 e) j4 M sum ddy240. ~5 H0 {2 q0 i- Q u0 _
( P% X5 {' L( e& ] R6 j3 a! c if r(max)>0 {# u4 v. S ]! X2 X
" J# U& ]* y+ S5 ?% W keep if ddy240>=0
. I; {5 }* W8 |9 [6 ~, `* _ ) g$ D3 v0 r, t0 c {1 a
count- g1 @2 t+ d! t; f
5 s) [) v! b6 I
if r(N)>2 {6 n3 ~& K! ^$ H9 [7 n
' r7 G2 \0 a V5 m" E/ N pkexamine dx240 dy240( e( Z& w4 ~7 x- q5 c# D C
, G4 [3 o7 d" Y local tempmaxp=r(tomc) ! K) p/ T5 g Z# U7 q
restore 3 V" d+ E& @0 \3 k; _
}0 G9 z; {2 ^: J, O, W/ t2 W) ]7 k
: S8 a' _/ @, t
6 U6 F# Z9 [7 y, i9 y# x0 f
else {
& v" M8 z" N4 L/ ? restore
0 c( i& @% O8 f n4 g+ e0 Q di "cannot find maxp"& G! c& Q/ ^" g) ~" k' i8 L8 x
6 R6 j3 V, R6 f
# I% i, w$ }- V4 X) H0 r sum dx240% L* q W/ u, Q5 B/ z( [1 L( {* s# _
local tempmaxp=r(mean)
) q$ d, H/ b8 ^ 5 n5 i4 t; c ]/ \
}* H& F( h! d" |/ V' I% d
" i F4 k0 J' t+ c
}
- X3 y4 _* _9 X7 a! J/ k 5 d) }( C/ \' k q0 b
else {
# r8 ?- Z% X! `+ A* _7 N" }5 _ 8 q9 r5 _- m! k! r" g
keep if ddy240>=r(max)7 q) |1 b4 d" R/ y7 c! q8 n
0 g. f/ H3 s( w- f sum dx240
. x9 @* s. u" R { h; C5 {
# R. U/ q5 L: |3 h) D8 X' `" X local tempmaxp=r(max)
. e. g& C; ?- @2 G9 J restore
3 x) m- y2 p& C4 N$ p5 q3 V$ Z- L }3 @3 U0 o/ M. U7 U* ?
, V" y) y/ Y- W. Y* b3 i% H, w, _ w4 e w; V. n
2 k2 E& Z& p5 a
; T/ c; f7 ^2 C" J4 Y gen maxp=`tempmaxp' in 1
. _9 e) V' b& q' N/ T% b
1 Z4 q, s0 Z( ?8 z *240maxp" _& Q1 X5 \: M
9 n5 X& v) g$ u
, T7 g# v {7 ?$ @. g0 }
*-------------ddy240pminp左侧高峰值-----
# g/ |" u: C; g( [7 b' Q: v s: }" _3 r
& i6 J( D0 {9 u/ Y' s preserve ! ]/ ?5 X6 K9 ^! r; a0 E( b
5 O m; ~8 E% u* p4 [
keep if dx240<`tempminp'7 v5 ]/ |, r" i
& m" L0 @4 \ d8 [1 o) W; S! x keep if ddy240>0
" b% e, I G( T: W$ a5 Q, l( Y- S
& H/ T! ?+ k, O" i# K count
, @% I* {: H0 P( B! u. _$ K 5 ~ ]2 C( h8 ? ~. Q- O
if r(N)>2 {
3 G/ F( x( U& |" Q3 M$ ^
" D( Y) n3 Q8 N- i" z pkexamine dx240 ddy2408 k/ I3 W4 {& k, Z* M
; v; J4 x- O! r* c0 o# ~! b7 W2 o local tempminphddy240=r(tomc)
1 j0 G, c3 O p5 B3 V! K" @ restore; L; u5 E% w1 ^3 z$ Q( b* V
}% E( X7 {. ^+ y% n2 z" I5 {9 U) P5 u* p
9 h$ s, z5 w4 d `3 ~( W4 G, B
else {
: ^8 P% x- @3 P/ P* [ restore
5 g4 Z) K8 |/ s8 c$ | di "cannot find pminphddy240"
9 Q( ]* E8 G/ o+ k9 ` % J& l- w: a* @( r
% I0 s. T: ~9 N& H9 U* t) H* u; E
sum dx240) |- L9 j5 m9 X& v
local tempminphddy240=r(mean) : Y- x/ f( s8 A& b2 N5 w
( \: y2 n9 p" i+ r" b
) k+ J8 X2 C, z, m% Q }% P; D! g5 T7 s+ R" _
! N% T1 w7 G) W0 Q8 |- i! w
/ F) K' R4 D" Q f# ^8 e
6 `) D% y# E& W2 i5 Z2 n % D0 O+ a! s1 ?1 `% x/ a9 r
! d* b; c! i2 ~" R+ r4 m . {) K' [' w6 Z7 N) Y8 Q3 r
gen pminphddy240=`tempminphddy240' in 1
- U# \0 c9 w9 ~: r3 U4 h& c
% H! D# O' _+ |9 H. g , C4 f7 ?* Y" A* A) |# \* q
*-------------ddy240pminp右侧低峰值 -----------------
" g, T: Z0 F. V preserve 9 n( _6 A1 a* V
0 g. `; ^! b* t2 U
keep if dx240>`tempminp', c! `8 `4 g2 w' {; I& p" @
# o- Y$ g a0 B9 o0 E
keep if dx240<`tempmaxp'
) g7 r0 _( g% Z$ v- q l 0 T: {# u+ n7 u7 E8 e
keep if ddy240<0
- W" A# c0 I! o5 E1 g 6 \8 t( X% z0 i/ o" C7 m6 \- x
gen temddy240=-ddy240
8 i7 L( }; j* j7 q' P+ V 6 J" Z- I/ Q* z. }5 d3 r
count% z& h; Y* l/ F. b1 {* f" _5 Z
! f; u* g$ N- U U: }# I. l5 j- _
if r(N)>2 {0 O5 g& R4 U! ? s: ^
1 F( n. A& k" x* v4 W9 {
pkexamine dx240 temddy240
/ U6 ^( _# R, W* s 4 I9 p5 a( e* C6 I" P* R; f
local tempminplddy240=r(tomc)
7 H8 Z( j; A2 ^0 A restore
7 Z" Z# {( \6 c6 U; l }+ r4 ^# O& v# K: ]' X7 E
* h" t* @+ q6 p: S4 g9 _ @& R
else {- p0 Z. e3 Z4 p0 `- ^9 i) ]
4 ~: \+ h# \+ Q: J di "cannot find pminplddy240"
8 f+ o$ W+ @0 N1 @3 I; M restore
# [& |9 g- Z" N/ S5 W( ~! y$ l; x7 O , N+ ]6 s! q; @; ?# M
sum dx240- ~4 t& m" D0 M; B/ A. s) D9 G( h
local tempminplddy240=r(mean)
8 @: I2 u8 E( [: y
: X0 `, p' Q( ^7 v / L; z5 h! Z) M( `
}
7 J0 y, c' m6 V6 o# ]
2 }) o* s' L) e
7 z# ?. x6 s% H ' N/ d9 c: }5 r. M7 q1 e
" {$ \* ]) G8 \2 _8 J $ n5 {' V6 s; B3 b8 W6 T! t7 ?
gen pminplddy240=`tempminplddy240' in 1) e+ S' }- y) Z& ^# g* X+ L7 z- \
) f5 j! Z/ m& i1 q N3 d$ Q7 D *-------------ddy240pmaxp左侧高峰值 -------------------
8 c( T8 h) g+ H' _) z4 H0 l . z0 L. G, ~, q8 g
preserve
8 H8 B8 U. } _. z2 ~4 e ~9 _; y1 x( [ - j3 p, k1 @# W+ N$ V3 |7 Y- n( z
keep if dx240>`tempminp'% Q; X) |& x0 R2 Z* v8 ?& N5 g
9 t6 g2 {" W/ Z- S( Q' Y keep if dx240<`tempmaxp', {. y; f# N! ?8 d
0 y+ T# ~1 _3 d6 V
keep if ddy240>0
9 F I- }2 ?) m P, X count/ @! h, f s* u9 ~ u3 }
& v7 _- B( h5 n2 I if r(N)>2 {
- w! U' Q3 D: B) Z K
) j4 v& n" _+ I8 X2 X z8 y pkexamine dx240 ddy240/ L7 O( n' [, J" N3 [. P0 q
# h4 p1 u7 ^) x: C0 j1 Q. \2 `
local tempmaxphddy240=r(tomc) 0 s3 y0 e/ x2 n
# C+ o3 O! S3 n
restore
3 V& r' R3 {! _- ~6 j% j) c( F }
" g7 h+ _' Q1 h0 Q* Q/ n% D / U3 S! U0 L7 E: x) A) Z
else {
8 P4 {" P0 M5 [! g+ V2 Q { u% S4 S6 c
di "cannot find pmaxphddy240"
7 Q" \4 |: S G) V3 I, D! C restore
) O1 N# @/ ?' P8 ?/ s7 I: S$ r; Q
9 F5 K3 a, ~' M" |' l sum dx240
! ?6 n$ J1 v) B3 L+ w- f( C% }9 T0 j local tempmaxphddy240=r(mean)
. h" _8 w3 m% B' F ; [' r! n3 y/ U0 Y
- ~' @6 k* n4 u+ D) p }. H1 h" v6 l, j$ I& C- ~" I% u# T
5 J0 t9 \% v7 p 6 t4 {* B+ r `% w0 I
# X1 ?) [$ I8 V+ W- x) d9 L
& Q6 M& f! L! ` b) ^* O
9 a( B; i: ?) F& S" R+ q
, x, V3 ^# t7 h: {, ~ gen pmaxphddy240=`tempmaxphddy240' in 12 K' V* d* Z; o5 U2 u9 z8 ^
( @/ j/ F1 f; t2 a1 Y2 `
" M" i0 k K. `" \ *-------------ddy240pmaxp右侧低峰值 -------------------
/ K6 c+ n' Y) [# l$ W
' j8 Q0 a/ j" Q- t4 l* v0 |% u preserve
! Z8 X* R/ H: w6 b& L( T- V8 J
- M, Z! q6 D: B3 B6 c) K keep if dx240>`tempmaxp'9 b! O2 ]' A) ]: b* k3 {
( h, |: [. r+ L
gen temddy240=-ddy2409 S* [, F( X% j! f/ W0 f! q
6 ~2 ?/ X4 ~$ s
keep if temddy240>0 ? ~2 T+ U' `) j0 d
. w) }5 f5 R: B. V" g count4 S. Y, `0 P+ ^1 l( P: P. k! d# h
1 @4 z, W$ K0 n
if r(N)>2 {8 M9 f6 n' ~4 C* F: A) ~! u
* {# ^( q0 e; g0 W, U pkexamine dx240 temddy240
5 }% a) A, }6 e# B 9 Q- T8 |8 t2 S
local tempmaxplddy240=r(tomc) ; A. B3 k5 x' a* `) T
restore2 v! s5 H* U$ p* `( q+ J0 u
}+ r" B. @' L. {1 k8 d& e7 t
0 V4 x8 [5 c% }+ ]0 l else {
& P& U$ k7 \# a restore& P5 X9 u. ?! R$ v* X* G+ C1 [
di "cannot find pmaxlhddy240"# n/ L* H4 m/ K" A+ q
5 }1 K' r4 q0 }+ w5 s
7 u) h1 f8 U: _7 [! t+ h sum dx240
6 a, z5 j S- e3 z p x' i local tempmaxplddy240=r(mean) in 1/ z1 f. J& Z& I. `4 m5 a
; E) v" Q! z) [' E9 t$ b
# I9 f( P7 X* n1 N, _5 d
} H2 C; e ~+ R% ?" \8 H$ p
* y- O7 b! k# ?" n" d$ T % w, |. x) r5 S8 d
: r/ S0 r7 V/ i9 _$ t5 L
' L# ?( }8 V2 q; ?1 Z$ z" c' e1 Z 2 u+ K+ W' _/ t
: O5 ~+ I; E5 k: _
gen pmaxplddy240=`tempmaxphddy240' in 1
! k- }+ p6 v6 \ {# A) ^: @# v
; U0 g5 m7 H* Y% ]7 j' P *-------------------------------------
7 z! `: l. p5 f/ s' B
, r; f0 J8 K5 D% w W- @/ c/ w# \6 h gen price5d=v5 in 1/20
4 `; h( F/ i5 t. Y* C9 G! a
0 P, U$ x1 `# Z" M9 d, A- ] gen price5yy=_n in 1/20
; V; i# ?9 p5 L' b1 d- D3 R; j4 g5 G 7 i2 A# j0 Z* B7 m, ^2 m$ q( L
gen price5y=price5yy*(dy240max-dy240min)/20$ S5 U. O2 ~2 ]/ I
) @2 z5 J7 |, g3 b \
*price5y &price5d
2 \8 n( Z7 O8 i, t1 F
$ M0 p5 F5 o D& V1 m gen priceny=price5y in 1
* G- L' [. q( j+ ^
2 ]( Y1 N; |, L4 S& A gen pricen=v5 in 1
/ n# H# e$ {, `1 I4 p: G$ ?
+ C4 x& y3 A9 l! }0 ~ 1 x' Z7 R% f6 E# c, t4 E% ^3 w
*priceny &pricen' Z! m4 x3 T. ?
+ H( P; i+ V$ \- t : g4 K# ]6 h2 Z/ ]; t J
*-------------------------graph------------------- L s! V t4 c& t
0 R; T7 r' a( R% v! x4 J% n6 F 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)
( K( J0 A6 l- D2 W9 c& k6 ?4 X6 H) t8 ^( v3 b, J l m4 f
* ---------可选项目----------------------
* R7 K' n0 Z+ p4 X1 U& T/ g3 H' O& U2 D: x2 X6 u; S
}/ H9 v3 I4 f5 E9 Z
end i4 L+ t# z8 ]0 M
|
|