|
|
改了一下,这次运算应该没啥问题了
0 p2 E9 g7 v( c7 V, {7 B5 Y: z( P, E6 s
6 A5 }% F, V fcapture program drop hello' F& | A* n2 |0 h$ H
% Q9 t0 E# C! b$ Q. nprogram hello
/ w [3 P, b: j( d9 v1 a- R! Q. h0 S: Z6 o7 n, X7 s6 t @/ O
quietly {
: [8 s% `' F0 P% ?4 w
" P, X! T2 c/ |1 Yclear
; M' x. W( u# \8 @) Z: R# h g9 C, J+ o& n
cd e:\finance\stock\20110101\source2 G& D% G& }; U
9 j" a1 z- r1 I, c" L# I Kinsheet using `1'.txt
! e, V7 ?) v; G: d
/ M8 r' u0 }" B1 G keep if v5>0- R# b) r! X. t: W2 `
( P* v/ L* y7 ^1 `. \' F: J" \& c) v
gen vt=_n
$ i9 `! I( D* R( q0 ?+ H
* N9 M9 k6 r8 O4 P, b& K tsset vt+ V% t, b4 t7 \) c! u
* N9 D( I5 J6 L* K# N
gen zf=D1.v5
- B% t% t1 ?/ l5 e- s& o& p
; M7 J/ k7 W+ Y7 q gsort -v1
0 R) z4 D( E u* |+ t7 ]$ M% D7 T4 ?' P7 ~
gen avol=v7/v51 Z/ ^5 s' q# S) c9 W7 _3 l) p
& c2 [0 ~1 ]. e1 }$ J keep if avol>0- U% f" w$ \/ q0 b( V
+ x \( u( x2 Q0 L
drop vt
) s0 {# g) A r% D; e( g0 ? 6 \& g5 x7 }# ?+ L8 e
gen vt=_n
3 t+ Y4 p) t6 t
& F0 L* g4 _) J9 i tsset vt
' Y6 L! N4 n. |0 z6 I l ' s* [4 O! k- b5 P+ B
sum v5 [aw =avol]
! T6 X7 ]( _4 @9 D8 B5 I \# f' a: b f5 P: O
gen amean=r(mean) in 1
! c* o5 Z) q J# v + ^' t, z" L! c/ G3 r9 H2 s
* 总加权平均值 amean
2 ~, o! q" ]6 V- l- s2 k
4 \+ E0 [* n2 \3 _; P$ B( M
0 i9 V% F" ^8 }* u, t. h: s keep in 1/240$ U5 H+ u0 n1 V4 V9 Q3 Q8 c
$ g2 e7 ^( o5 C
sum v5 [aw =avol]
( A/ Z8 ]; d5 a6 g, f$ o7 L
4 O% [3 C5 x* U B! |; [5 t& |! ? gen mean240=r(mean) in 1( G! H" o p* x" _1 ^
2 V8 T+ q& g+ y& }- j$ h% \( `1 { *240加权平均值 mean240
/ ^2 [! A, i& I) ^0 z6 }6 F
8 |7 H) P) Z: `0 a! C set obs 500
! O/ `# J( i+ e6 g1 {% F- ?4 N1 I 1 b2 g( V& [* g9 R/ F
kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph; R! o7 @/ N' S% S
4 k3 _. v5 b& B5 @& U *240 kdensity(dx240 dy240)
, Y1 E$ i0 Z, O4 o6 r$ Q% i 5 h2 Z# c8 v9 ^2 `
sum dy240
. ^' @& s! Q% H) B: S* b4 \ $ d4 S7 b. \7 q' `3 J
gen yxis=r(max) in 12 e1 I7 `6 o" j+ O5 [
* w. @- i9 H( I# b0 g& }7 Y
gen yxis2=yxis/2
Q( d) `% _$ R! K; s
) W; W" T' o7 S$ K+ i5 R *yxis: I0 ^ U' g3 E$ N; j, b
( G+ q% l3 v' H
gen dy240max=r(max)
0 ]# b- \8 n# t2 n3 Y( j9 g
+ q; H# n/ i) H, V6 w& z. O" T gen dy240minp=r(min)3 a# l- Y! l* I. V/ W& j j
: a$ W: s; U; I$ Z9 D% i gen vtt=_n" g. G, ^" M" }, d; D" m0 u1 ~
% H/ {! z. F, c tsset vtt$ o" [1 ]8 }" T1 `$ V
3 X* R! {# K+ c6 ]! ~$ {! @
gen ddy240=D1.dy240/D1.dx240
/ X/ O; L, @: M* J) q# Q' b" f
" h, e+ W4 o9 M' _4 z. D sum ddy240
# {: C# X: u2 r2 L& \
- A# D- V1 R4 B/ |& b5 t3 u3 c gen ddy240max=r(max)- l( R$ j% B5 R/ G. r/ g/ [
* ^0 d& n2 R: D l gen ddy240min=r(min)( Q: P6 e& N/ ?# O) x6 y( e+ R
( w6 Q3 Z8 I1 d; @
gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)/ F( f# h( Q5 C m# c8 v
# i# C& v9 ] V5 Z9 W
sum ddy240g
# T( ^ j8 |+ b( P9 o! _
1 \6 k3 l; n+ {( _ gen yxis3=r(min) in 14 ]+ B) `0 @- r# w
( ^! z8 V0 ?9 a2 m
gen yxis4=0 in 1. O, j" h+ g1 m. F# J
- n, Q, K$ N* j9 d$ a- P3 [ *ddy240g ! a! C- S/ j$ _. g
+ B1 G& A, y+ V# v' N, E8 @4 Z, R
: ^# v" A F$ O+ b preserve 1 G4 |2 g: p% h/ `% P: P- t0 G
5 ?. ~ N! `- m sum v5 [aw =avol]: _! c2 g" O1 w6 n: A
f# T% ^# P# B4 o' R5 k. X( i' I keep if dx240<r(mean)+ T4 i H$ e- c8 a# Z6 M- t( o1 g
9 H: }# l6 s7 B* }2 e' \
sum ddy240( ?7 Y" ]) n3 c+ _& Z2 \
3 e0 x9 y$ ~& D2 i8 `3 p4 k2 e
if r(min)<0 {
$ z8 t. m7 T, O# v' r' Q4 h; }
8 l8 u+ O' T7 z* c d; Y keep if ddy240<=0! h7 [- V- N; E/ u7 n2 Z* N4 x
3 O0 F! T" n) s' u% g" S1 K9 H: v+ s
count
/ Y1 s/ A% g( m. | ) P+ I! n s: A5 y! W, b
if r(N)>2 {
* A) v% Y. |# d, W. { ' ^8 a- p& W+ w6 j# u% q* b4 p! [- H7 a
pkexamine dx240 dy2409 Z4 h7 k3 N- M( s2 R" j
5 R6 x0 o& \! p, I
local tempminp=r(tomc)
^+ V( @" t* i1 K5 G restore
- ?4 K: _( c( } }; ]9 v4 c4 ~0 z7 z& ^
. {+ x9 l7 V. j else {2 G' w" p* S9 z" M
3 b7 H2 b; H7 Q/ U( b5 H' r6 B
di "cannot find minp"
. z8 o, \; H/ [6 ] 4 N, P9 ~6 l: n; G1 j' R8 R) t; G- l
restore * b2 \0 F) \* H9 s3 U
sum dx240
3 d7 w' ~& O' Q' ^1 A" Q( p0 Z local tempminp=r(mean)
5 K; B2 a% L; t) w6 S3 Z F6 P; } 1 j O: w# Y! d+ U. P7 O( h1 y; b: @; V
}
0 Z1 {" s" L% O" }& b& h: ] }
+ o! E) {7 o) I8 f else {
1 Z0 o) K. B8 Z. L
: a% d9 E$ ~( k keep if ddy240<=r(min), b7 ~4 G0 A4 e% I# n& s
5 h4 P" ?6 W9 E) m2 D' C( s7 D7 l9 h sum dx240# M" [/ j: G) v) k S; g4 o. a5 C
, i2 D: S- B: M; Z% C1 h, X2 @1 C8 j local tempminp=r(min)
2 U% r$ {+ b8 o2 x3 J restore 5 L/ ]/ |: t, @3 O D4 Q+ y
}
9 b- w- w. m% k: M1 g. z; |4 ~. f6 G. B
! D, r5 M1 \5 ^+ X8 h% M$ S8 ~
9 e% |& h- M* _# B1 L1 G gen minp=`tempminp' in 1
; g6 C2 X- B2 [1 k/ A# H6 Y4 ^ *240 minp
1 r. R# Y8 T x& a3 D' [5 ]+ M9 R# Z! ]' ~
. x! G* ^. C- y) c
! c# N$ R2 _& [3 Y; a! h preserve q& K: M; Q+ Q1 Q! Y9 t
# ~/ Y8 O2 R: |4 c, v9 E5 j
sum v5 [aw =avol]5 T n, `3 z- H+ y& x4 D
9 h+ T) @3 E1 s' ]
keep if dx240>r(mean)* a2 Y& S0 `7 Q6 ~
% [" W+ X7 U1 b) S
sum ddy2401 E2 s) F1 u2 G- o' S
9 O& h2 H1 M1 d' p8 P3 }) X
if r(max)>0 {
, O4 P/ ^; V! S( c- ~ , a; n. e, v7 N! U2 ]! s
keep if ddy240>=0
1 v7 I2 S1 o+ D. x
, K9 I, C' r$ f C9 F. \ count
# Y, |" O3 C! t* U j1 L2 L
: Z3 u/ G/ G S! X3 v2 a8 B$ {, z if r(N)>2 {3 y# X* N) C; b7 r
4 Z& z+ Y- m5 C0 l7 Y& S$ a% y% ~; z; \ pkexamine dx240 dy240
1 j& ^7 h1 E, `3 b( z 1 m3 c: k% c- t1 j, B
local tempmaxp=r(tomc)
' v" R) b3 g+ y9 m, G restore . A1 H1 p5 m- H! ]9 ?& s
}7 t0 ^$ r( B" g# o: }
2 [7 P e% I7 O3 i0 b [
) ~: j: }6 h2 z, ^5 ?
else {
5 X4 u+ I2 }: d" v0 P& i restore
6 ^$ V$ E; O* o4 R di "cannot find maxp"! p/ v, v4 B9 c
* c1 N+ \! G9 I, ^
: J/ D# } _/ [) b sum dx240' G S2 R0 {. B& N5 O
local tempmaxp=r(mean)
}$ c' \2 z8 s0 l- ]
# j2 l" f+ w9 d5 w$ b }9 i" C7 i9 m* A- T7 h! X; X
0 g% u8 }1 Z! t- w) Q9 I } x ]; f5 K' D
) \) p6 [* @( C& `$ J" I4 s else {
( ?- [/ T9 H2 t
0 Y* Y' T5 N; N! ~# P4 n8 u keep if ddy240>=r(max)( Y" ~- s9 V" [
# T2 b& S: N9 X! M( \$ E' l/ ]: ] sum dx240" G4 o' W8 @+ U+ m7 E
) P, b7 S& p# n+ ^! p6 h& p local tempmaxp=r(max)
/ r F" R4 k! D9 } restore
" O$ @' D* X. p2 x) J$ P/ p }2 ]$ A, M- i1 J( _& o
" n7 R' v5 `7 Y8 C7 ]- M
* P& a5 v1 q* a3 `
5 b" c% j# u# I& p7 h: l) a) j: G0 A/ p! Y: \1 d
gen maxp=`tempmaxp' in 1
3 L& [5 M* A4 z * c* \$ j3 g# e! ?% C- _2 @/ w- W
*240maxp
' w4 t& C5 i6 q0 f9 A0 Z7 V1 x * w- e3 Q" Y" z3 T2 E
8 d8 e- C' P8 E4 r3 z- e- g# O
*-------------ddy240pminp左侧高峰值-----
" l* A; |! q- F( E+ ~
& ^" x( _# [) f$ |7 d) k preserve
( g/ a% `8 }( O; y6 M6 ?, v
3 q* H0 F# [6 ]2 Z& l keep if dx240<`tempminp'
" j8 Z; U, C8 {- K4 j8 m 1 T0 B2 V- ^: j/ A2 c5 z# X
keep if ddy240>0
3 {" b* p+ }+ y& x
4 ]" i8 R* |/ B' N* V0 T. t9 { count
/ Z, e. A, v, A1 U7 m' X1 o% G
4 D; ]& `& h% u. e9 p if r(N)>2 {* M1 k$ W! q6 \/ y+ T$ g
+ B" v' W; w" G6 O
pkexamine dx240 ddy2400 e3 k0 m3 z9 l& i8 c2 s+ w7 U
8 E4 @4 k9 ^$ r9 y# d7 d) O local tempminphddy240=r(tomc) ! F$ R5 T! L* F
restore% x: K, w( J/ {$ y2 e- E2 [) a. o6 S/ F
}2 L n1 }7 e; O- o
3 z& b. Y; v% u0 h
else {
# S& @7 H! t- ^/ A, L. J1 Q restore * z% g) l9 G; I- y8 Q
di "cannot find pminphddy240"
) h, Z1 E2 D P1 e- ]# r! f ' i$ f4 T- ]9 A% |. S, N& u
. y' y: n2 T. e
sum dx240! y' w" f* Y; f3 M A: _0 s, X
local tempminphddy240=r(mean)
4 D* r4 Y, L$ F: x3 N9 ` % |* K2 V; E7 M" n# G' C% G0 C1 ?
/ ~9 C+ G/ e9 _, o9 g0 P- D }& h4 |3 {% Y. Q
0 L+ }4 l4 Y3 ~# F. ~* m% z
9 g6 A5 Z5 q o8 A4 B. V8 s
* x7 n/ ~% {, p5 g* E2 V 9 {; D# Z9 M2 w
! H5 e$ c' N6 {) U% i
" S! S5 w5 n- S" F gen pminphddy240=`tempminphddy240' in 1
# W, U# g( y7 S8 T0 [) V$ G & h6 e h8 D, x& k" Q% @$ g
$ I! k+ Y7 p$ ?" T0 T, A6 [ *-------------ddy240pminp右侧低峰值 -----------------7 j7 N" x0 p: e/ j, }) P# h
preserve
5 x/ c! A3 H$ F$ \ v) U
$ Q+ H' p: u6 R" I keep if dx240>`tempminp'3 T& A( R5 i: \/ [% r8 T
" W6 ^# O5 F/ @( v
keep if dx240<`tempmaxp'
0 M; g- }6 [( C; ^
- h `5 B4 [$ D1 t keep if ddy240<0
. N" Y+ s) `$ m1 V5 b% k9 F' c 6 j+ `, s9 X3 J) h: E6 y2 A4 r1 [
gen temddy240=-ddy240
5 h9 }- `1 E2 R+ R" O
6 z$ b. q8 g* K$ |7 b# r4 \9 G count
! Y9 }9 h9 I1 F: E9 q2 B
9 J# P' r8 g9 E1 W if r(N)>2 {
, H8 s. a9 A& g# f* E
E, l; X" K! D( i% ] pkexamine dx240 temddy240
: x+ v) B, P6 F! A" E 6 {6 N6 e4 M; J& o/ D
local tempminplddy240=r(tomc)0 H) v, `6 K8 s/ V' y
restore$ O3 B% M' ~6 o. W2 \1 B5 k
}
. D5 O6 k0 }" {. g% Y) @! x% @5 F" i4 ] ! N$ u" Y( b( g% A0 @
else {
* e* r6 T4 k0 Z; n x e+ I. D6 _* R& a' X) K/ O
di "cannot find pminplddy240"2 x, b& _: H4 K/ `; K) Q6 C
restore
& c) J% }% @# W `. x ! R' J( w9 P* v5 p" s& x* P$ p
sum dx240" j# u% X, i- ^- f' x
local tempminplddy240=r(mean): Z6 G- ]5 U; F( a2 K6 R
- B* S0 i1 H( u3 m9 ?; Z/ [
$ C. P! E9 n! s) j9 R! D# g }
. b5 n+ q* j7 q, B
: m4 r9 [( k8 ?: V$ ] H- | y, h
3 X1 Q, ?2 o% ?3 e' y
* q2 ~. t0 ]3 p- y - S" S3 u4 u8 Z0 a
% t9 e8 B# O* z& P
gen pminplddy240=`tempminplddy240' in 1. \/ p7 M. `1 m% ] C
( n" R) e5 |. I: }! b; U/ e *-------------ddy240pmaxp左侧高峰值 -------------------. g9 M/ N: @, f
! G; O. S. w1 u' v7 z# c preserve 3 a0 S$ `8 _+ ?- O& E* ?. Y
9 Q! w7 z$ \7 T" @2 g- z keep if dx240>`tempminp'
/ ]7 X9 `- H6 y k4 U, I. S3 m : D7 G$ d# @! I# U: W9 I o
keep if dx240<`tempmaxp'
6 t1 z/ R$ s' N6 u( g3 z 9 }! `0 m# v) A( `0 ?7 G
keep if ddy240>0* b9 Y$ `4 X8 P6 t) G+ u, M) k9 g
count
* B( _! o# m8 r6 _8 m
4 S N" r4 N) H X3 d% a if r(N)>2 {
! s9 r" l2 O" g1 S
* k: a4 r6 E; _7 y: [ pkexamine dx240 ddy240
8 |& n a! I9 C- d% s
# S- q* o: _5 y$ \: I local tempmaxphddy240=r(tomc)
& g- q( X9 ^/ \2 S2 Q; s" M# O ; f! {8 q4 j, |1 u0 x3 a5 T9 ~
restore
0 [5 o: @, d8 w) a! ?* y }
3 M% H& ]- Y& J
0 d' O' G; n1 S! `6 C1 B* V else {$ d/ j& N5 _! G0 H/ H* f1 q$ b
8 P; O2 `# g0 ? X" H0 ?
di "cannot find pmaxphddy240"
3 ?6 D3 x2 l! n restore7 A( ?/ v _ O% Y' p8 M' h6 Q
# h s+ D$ C' F9 ]' l- H/ L0 [
sum dx240. \, x" N. t2 e0 [5 O* H
local tempmaxphddy240=r(mean) : I' J& G/ c( N% `7 M
1 d7 _& X1 `% I# C
: d& e! d5 ?/ ~1 c0 b9 w, [1 R
}$ @* ^1 H5 R0 f! D& ?* g
% B! [8 U) l! J; f2 H
/ M7 t+ x. F% J- ^1 I3 S8 ]
4 x1 f3 V, {' c' }& j" r8 N1 e5 p
! p/ |) E7 P0 ?+ w% d, y; t3 Z9 x8 { ! V4 s: _# s% i; T* N3 O j
- t/ \ d4 x h5 `3 d& K: b/ p gen pmaxphddy240=`tempmaxphddy240' in 1
1 H* |; n8 J% F1 E 6 D* z: \6 T! w: c; o4 @
* C" j/ M2 T; {0 Q5 ]3 g7 v6 j2 a
*-------------ddy240pmaxp右侧低峰值 -------------------. R# G* B* \# @" B, `8 f6 v# X
- p, o; @4 t9 s* y& X7 P4 p5 |
preserve
1 T3 C: p7 q( U" t/ p - T2 Q1 R- Z& P
keep if dx240>`tempmaxp'
$ V( f4 A; `6 m; u w- a3 g, Y, j
4 }# e% M( o: j; W gen temddy240=-ddy2400 p" N. T% [2 ^ h
1 B2 v3 Z( @0 q" U8 b
keep if temddy240>0. z0 J, H5 t/ @4 o& z9 q
; j$ H, P2 T' N' I% Y; ]1 ^
count) l( ^# f! }8 P# M/ e
2 M7 \, R1 M9 B! q if r(N)>2 {
y9 s& w* N9 v- H+ g {, [. R, j' L1 [5 w
pkexamine dx240 temddy240
, l _ `/ _$ Z2 X' X
) y4 H. w! O* k0 a2 J$ ?& p2 F* K local tempmaxplddy240=r(tomc)
+ E% ^' P3 Q" l3 A restore- w% _2 H; d/ l
}
& s3 i0 D" ~/ i, _0 { S# x 5 \# {9 l4 l* _) P+ w
else {% z1 X. ?" A, J9 T! r- E
restore
# M$ [8 e/ T' {5 F: O* G4 X di "cannot find pmaxlhddy240"! V# h4 S. M. k: `6 D2 o6 |1 m
' ~& r: }9 x& u3 p+ F7 O5 T p
q+ B; b4 n7 \
sum dx2409 {3 o" U' w- ?4 s4 |2 k
local tempmaxplddy240=r(mean) in 15 z# j# k) a, u* X" \
- k% a) K$ ?" I" I/ E0 @8 _. J- ?$ Z
4 w# |( F; x' p5 p) P: E
}5 d$ A! Y* F% L2 H( p
3 K; b# O) I; G8 K" a * K' _. @6 I, D9 x
5 w' d% o, D; {
8 c1 o% @/ e1 [0 V, r2 `
% ]8 a: e% j& F0 ?+ n( W: O $ f$ @- z1 T4 L# _5 q0 A8 R; r
gen pmaxplddy240=`tempmaxphddy240' in 1
, R7 f) i V/ h5 j/ {+ o & p, b# I/ B5 O& D
*-------------------------------------
; O. b. e' H1 ], T
* @3 l- T0 s; m3 _7 j3 c8 I+ O gen price5d=v5 in 1/20
2 z0 F& \& N7 X% q3 V+ Y $ r& a- H v- n5 |' c
gen price5yy=_n in 1/206 h1 P3 P) b1 h1 }
* D, B& ?" f# ~( N8 I6 W9 ~$ |
gen price5y=price5yy*(dy240max-dy240min)/20
# p3 a6 B0 Q# q7 b) v0 t* B9 ^
5 [: ?6 b7 [% x% W) ]2 \4 H: m *price5y &price5d" u% n% ]' I: r% d- g, Q R
0 O- c' r& s5 x6 N gen priceny=price5y in 1
* q7 |6 _0 u9 r M( _- n
) `! d/ l- G$ f gen pricen=v5 in 1
1 A: s1 \" r0 _3 N# S5 C
: W; Z8 r+ a- t8 O: I 2 L4 G! S9 w$ j. d, ^
*priceny &pricen' G! i8 X% u& _' M
4 m5 z) I/ p6 N. B$ f
; P) } N% T3 ?- b& V
*-------------------------graph------------------' J5 ~* W! s; w/ n9 \ o
- z( A9 x; \2 \: @! e& Q
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 ~, z" P% T( d7 A) Z- a) f4 {8 H, e$ A9 e0 K6 t! R) _
* ---------可选项目----------------------
" O2 A0 E, ~# f6 r" T9 ?
& c: L0 f8 h; _* D}
7 r K5 A# X; d! O( ?% e8 {4 eend
+ ^: [! R3 a; ^7 L- x |
|