|
改了一下,这次运算应该没啥问题了# b7 v$ v1 K+ n
. x5 Y& z6 O p; ?4 h
, l5 J4 g& o" d/ Q& h0 Wcapture program drop hello9 C, T. s0 M: W! D( q
, h3 f$ {( ?- b9 S: q( Z7 D! g) Y: T
program hello
5 \; S6 k3 U6 q0 i% y
9 D6 G- I$ O- k3 U4 H' M* q quietly {% Z7 J3 w$ O6 t% A% z
+ l& E( L2 K f- Y
clear. L4 _7 W# C; `- X& {
5 V' z* O5 X' |( f
cd e:\finance\stock\20110101\source) j4 E* _; u E! g
; K1 m* k! h1 c$ q0 O
insheet using `1'.txt, ?. X5 A5 b( s, B
' P! c/ a# T% ?0 g) J1 A
keep if v5>05 L) c0 y2 g0 w2 ?1 @9 g
- ^/ a# {: x& z, T. W( ~2 O
gen vt=_n6 G! u2 Q F. `! U& y, g
0 w+ E. ]( \& T$ t2 a tsset vt
- R9 c+ m" j4 y6 k, g7 ?2 X2 c6 Y+ C. n% E+ p, U
gen zf=D1.v51 s5 u) t8 m% Y. n# Z' s
( @7 b4 J% R: b! g gsort -v14 Z" F! ^) I/ V) [% ~+ N
1 R' C6 x% S1 C& H* w$ l( n! @ t
gen avol=v7/v5' N) E, E1 `3 `/ p
0 W1 p! D- P) E- S$ A2 R# N( A keep if avol>0
+ G: ]% `7 O9 n9 O, Y0 Q: Y4 |
5 o# d( @/ P! {5 {5 P& x! p& M) z drop vt! X4 D$ a- a; V- J4 J9 H' R; q
: E- Z1 [9 v3 N& C
gen vt=_n
/ i/ @4 u0 b; l; O [( U5 | & F7 [; d* f Z; i& ^
tsset vt7 c/ y$ P9 k$ ~4 \: O6 I
% G* P+ Q- }" ~1 {: T1 f: B x
sum v5 [aw =avol]
! a& y3 A" Q( T
" b# r O- H4 J- q gen amean=r(mean) in 12 i9 z* p: M# L
2 {1 J& s0 O7 _7 [; V& C
* 总加权平均值 amean2 t) @1 R* g" m% p, @ R7 U
( I# k+ g7 j$ }+ x0 N! O% p
& B- d" G5 D0 Z! w+ f' ] keep in 1/240
$ c/ g2 }2 f. } o4 h
3 f, L q7 r2 ^; J sum v5 [aw =avol], G) v% d% \' N) d
( u, C2 \, k9 U, \6 b8 \ gen mean240=r(mean) in 1" B7 z; Z6 z2 e# p1 W* i& w
2 O0 g# j# Y6 a6 U$ M
*240加权平均值 mean240% g0 x1 r- a4 {0 a
- u1 a4 v. E* d8 y+ p set obs 500
! [0 v+ d$ |9 [6 t; c + ~& G, G% [# h6 F! A
kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph: j7 n8 u# B1 a
/ F: K8 l! B' a7 k- y( E
*240 kdensity(dx240 dy240). y% _: P" R4 b9 ?+ w8 ?% m6 }5 T! L6 w
$ Y1 |& [. e/ R% l( A
sum dy240
; S0 [2 k2 [+ S( ]: | # `" J% e4 ]! j4 L
gen yxis=r(max) in 1
! W7 j: i1 e- T7 q5 P * S4 I1 f; c& J8 t' B* l* z0 H
gen yxis2=yxis/2
. ~ O2 w: ^: E9 k . Y" r: {1 P# O
*yxis4 t I. J9 {; U( w: b
_- n0 G% P6 [" j. `4 m gen dy240max=r(max)+ F, f- \4 _& ]8 ]$ u3 g6 d
9 W. \6 d$ p" n7 h C gen dy240minp=r(min)
% O2 S8 S) a/ x, V 1 A6 Y- h2 r! f* {9 b/ I6 `
gen vtt=_n. G& T6 K( p+ G$ F" c2 O
7 d* V; S' N( b# y) Y tsset vtt
; ^% D! ]- F4 E! [* m6 Q1 P/ a
1 g# T7 r) e F gen ddy240=D1.dy240/D1.dx240& m" I7 u+ `4 s. w9 O& U
; t# f D+ z, @6 }) P
sum ddy240
/ e: N) \" z, F; v& K& ~) l( |2 w, s+ M
$ ~: o. J' E) q: l gen ddy240max=r(max)1 l1 P9 K5 n+ p2 e, ^9 Y/ S4 k
6 G5 U0 S- ]! z& H2 R$ O& D( b gen ddy240min=r(min)
* L# U* t+ O1 F6 E$ s- s7 A1 X9 y
, ^( H* N3 c/ R7 ^1 | gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)
1 c* k9 o: G m: n
5 l# _4 T# F' ^# y4 [6 \) c, g& X sum ddy240g
. W1 j( X5 Y" S4 z: ?. Y* x
; O5 ]' K' {0 `3 T1 Q gen yxis3=r(min) in 1
3 c( { R4 P# t 7 c: a- _0 G% [3 U$ V
gen yxis4=0 in 1
" u4 c% w7 M% f: n 5 e" E/ G/ {* |2 I' e' G# ?7 `
*ddy240g * K# Q I8 [: l" }) T! D
+ b4 P6 {- g# r1 V4 b/ W; L- R
( ~% l& E# F* N preserve
+ n& a7 D3 A& t u. {
% S9 b1 w+ j5 a3 f1 p" ~ sum v5 [aw =avol]
& |: M7 h( m/ J4 z
1 j8 p/ }, E; \, \ keep if dx240<r(mean)" f. B' L, A" b# h* s# n: Z. m
J1 q4 T* M. ~$ r* ?* V sum ddy240: ~+ I, K; t# o) Q- V# E
. F* l, U' U# |% A if r(min)<0 {
8 J& j V( O2 R , ^/ W& F9 ]; E& r1 Z
keep if ddy240<=0/ e6 N% j, X' _+ Z/ b7 @& k8 }8 Z1 V
9 [" v! A& c4 x count
1 e! v% B5 L8 x6 V p$ L# e& `( T6 f
9 h2 w3 ]+ j! `' X. ?0 y2 c' j5 y if r(N)>2 {4 H: ?2 J d% c; X
* ~& t3 ]' B0 Z, b pkexamine dx240 dy240" J. q+ |& |4 u q; w N6 H
7 d/ B+ T: d! W; A1 z+ ^# l
local tempminp=r(tomc)
/ b& c$ |" m2 P" v* P) Y8 a restore
+ b' `! L3 r) ~, z6 R5 N6 | }
6 _8 f* I' c1 c% }
. I5 [+ J. O9 ^7 p0 I5 f! j1 ` else {
- }0 }, N! S& u& t
7 V0 E7 q/ O' e( K; {( D$ Q di "cannot find minp"" Z5 N# e3 M6 d" p7 P
* {( p) U" o. y( H restore
o+ X' f% R8 W h1 U sum dx240' H3 f' O) l1 O
local tempminp=r(mean)
* W6 N4 p- b) y% G! q+ A
( C% ~1 O+ A4 b }
; L Y0 C5 i( y' z) V, d }' ?0 h* R/ f u
else {
. h* o+ I! S9 h. `" _6 Q
# a# V x% d# P. \8 q& U! ^ keep if ddy240<=r(min)
2 m4 y: C; C0 n4 O# D ; Y- b1 l- D6 B+ {
sum dx240
% a0 f$ @" Z2 K/ c% L% b " f6 C( E: \0 N) }; j/ _' ?* D9 G, q
local tempminp=r(min)/ }0 ?: B' Q. B( ~
restore # c# `+ ^5 C7 S' C! J# G$ @5 t
}+ ^8 F6 N' y8 E9 l1 d! w& C |
( U' d/ O# }/ s
" D. m, j4 a5 L/ x% g4 q; e
/ p$ J8 n: ]2 c T: j, y gen minp=`tempminp' in 1
- t1 a8 ~2 ^! R% u) w0 | *240 minp* E( ?2 o) J8 K1 U- K! ]! }
, {8 P: K5 J6 \* L
) }3 R8 b9 q) W2 @7 ? & Z5 b) ~' x) t9 [- c
preserve 0 P8 \. |! o5 {) p
- ~7 {" C( m5 a sum v5 [aw =avol]
z) T4 l! @* ?! B9 n
, u6 N, Y/ d9 K" I2 C: g3 v keep if dx240>r(mean); l6 \# g' j& _1 m8 z( Z) R
4 c! H5 y3 I3 o: `! W" @, \0 k sum ddy240
% m2 g7 r( I- q; {
, @, F5 ?6 f$ [: U; j if r(max)>0 {
8 n \6 r! v# t8 _) o" b
( I8 Y& n0 t( o/ W4 | keep if ddy240>=0 ^/ u! z6 ^# `; j
- i( ]0 t! a: W: Y, i& H; N e count: M6 F% f% M2 B
& i- ~" U, J) C ~, g, Z5 [ if r(N)>2 {
: W" b) I' {: R : ~- F* }8 C1 ^1 Q7 o
pkexamine dx240 dy240
( g) r1 n, I7 { ; J! _, u8 v4 v4 K m6 y
local tempmaxp=r(tomc)
! E4 _( V0 w% p+ V restore % X e7 n9 b8 r6 q
}
- U. S9 v# {( t, { - o( S7 q; s* b5 k/ `$ \5 U* c
4 u X1 N6 l: N) g else {7 Z: }' h6 L0 O" O+ F
restore
) S4 I* ?4 U5 P di "cannot find maxp"
5 j8 f( S; c& v w
$ a, c* K* J/ M
' Z5 Z/ j& K" ] sum dx240
" w/ z! b% T4 Y& k4 f; n" o5 c7 p local tempmaxp=r(mean)
8 H% Z7 }( k/ Q$ x8 G! ~7 } , h( ^" E* y! E: Q6 t8 J
}0 d6 n7 G+ s( X
: b e% y) r* K4 U
}
% V4 |6 u B% R2 ]9 l6 M3 }
. ?+ I/ [+ \6 |0 i5 k. z1 G% t d: j else {8 U, r! X9 }' I' V! U$ x
6 o% W8 w; N$ k* N9 q, u3 Y! U; H
keep if ddy240>=r(max)" F2 Y2 w2 x2 r- b& n
; {5 O$ |( u: e' ?
sum dx240
' ?6 d7 L. s3 I# I
% T, U$ |, y1 V8 I local tempmaxp=r(max)
0 q% _# C, I* M5 Q7 e7 N6 h restore
8 q7 {0 F" ~9 \) T8 U, g' e1 ~7 b }0 F' T3 [- X2 c* A" y; c
# ?$ Q5 R2 G( d9 c9 @) r& \6 w8 N5 U6 n/ K
: Q r& x `0 [/ E' v* R
; |' a) Q# C- O& W& ^ gen maxp=`tempmaxp' in 15 S' f6 H1 w6 i( h9 I: ?' |3 x
) ~' ]/ m8 V: I5 ^9 q
*240maxp
: T# x# v% }/ [; h$ u1 U; _ ( X6 b- H" I) V7 ^# B( L" @
$ T9 U- @( k, c+ A U U+ a
*-------------ddy240pminp左侧高峰值-----
: v9 u; l) V' s# x1 S! u3 z- y 3 \' F% M5 h- Y4 A
preserve
6 C% M- h8 E7 f
; G5 C3 \! \* G8 V L- r keep if dx240<`tempminp'
4 S6 L, d8 O# i( z
/ p j- y! _' v: v. [! o; E keep if ddy240>0
( o. E" s( ^/ z# B& q3 f 0 y ~ `1 O) t3 H, Y) A
count
# x. W* M) {5 E+ k: K 1 f; C7 F$ j1 `
if r(N)>2 {1 \$ O' Y# h0 C5 | W% ^
( X6 \/ c0 R: r" y4 z, {! c% W
pkexamine dx240 ddy240; v2 x/ I* U! d; f* r/ s: Y8 p
: W! b$ U$ v& q, ? local tempminphddy240=r(tomc) 3 G9 u* X" V8 ~2 }) ], E1 @
restore4 Y2 |, N$ O& C4 k
}
+ r' i) P5 a' k
2 n' s0 B2 _+ C) T: w L1 m' v+ c5 ^ else {, Y! z) R p' M! Q* i& [; R* G% O- {
restore
, v3 J- I6 A" `5 W2 ?9 }3 i di "cannot find pminphddy240"
) l/ n' D9 @- I1 G# r. b' a y5 u0 F7 D* i
: H8 {3 V. D$ G, f. W
sum dx240
6 C$ V" X8 P$ I/ X local tempminphddy240=r(mean)
9 X% F) ^/ C& H 0 G, n' E" u, i- I! w
1 t0 i7 q1 @+ z/ T7 X: a0 q1 @, q
} S0 ~6 E' j4 { j+ ~, m5 n z
8 \; `+ v0 s7 l8 X
) [. f3 \& Q+ W! [
" Z; f+ v9 N: t8 C, l ! K& S; f2 D- N. h& o3 b2 ^
# \; o5 Q( Y5 A% ?8 q+ [5 G! P
) I2 h3 l _% T; o( ]" v gen pminphddy240=`tempminphddy240' in 1
$ Q* W$ P$ X0 B# u; l" z I
5 ]4 }4 z2 M% e
! A8 z# t4 M- }7 c *-------------ddy240pminp右侧低峰值 -----------------& A) u: i$ V9 i$ a
preserve
! O y8 R; w8 h, M
' s/ o3 Y8 p: R. n7 w+ | keep if dx240>`tempminp'
8 K0 q4 F1 M1 B$ G+ E2 F- b. U2 a
/ z( U: x& }6 V. q% X3 ^- F- q9 Z keep if dx240<`tempmaxp'
% c: R3 P- D/ N7 L4 ? ) o5 g) _2 z% ?& K& k) C0 B
keep if ddy240<0
# ~7 v Q; r9 l& O7 u2 Z3 u
; x3 m- \0 z1 M* l: w- K5 ? gen temddy240=-ddy240
4 V! {: Z0 t) ?# T G. i4 ]8 t1 [. z' l- I
count
, r5 A' c" q- Q % }. w2 T) `6 e/ K& D2 D
if r(N)>2 {
l2 W1 [1 G6 b' C. V* l) j; j ! A6 j( t. y6 \6 a* D
pkexamine dx240 temddy240
8 |6 \% y* N3 g/ X a
) L w Q/ l0 y9 V local tempminplddy240=r(tomc)* U0 l$ X, D Z) K9 p1 f
restore
3 r- g. X5 g3 ~1 r6 A! o$ J }
9 i7 }3 A5 x* {6 _2 |( J1 y | # Q% e% W" W; x: a1 T
else {
t4 Z: ?9 b) M, Z/ X 7 U' ^0 b* y3 \7 B
di "cannot find pminplddy240"
* O8 R3 H( f5 g$ a restore9 a: n/ g- c; I- W. g& M% x
3 R. T; m0 ?+ X" K+ T sum dx240
4 }! L Y6 W+ z0 G local tempminplddy240=r(mean)
7 o8 |' G b+ C7 \4 X: a+ Y" A
' l! `, m& l1 u* V9 \& F7 Y3 N- f9 F# v' t ) I2 J/ \" m2 g( X1 ?
}
! F/ ]" L' ^5 U* ^4 O4 W* W( h; R
) _- N$ y5 s$ [4 _, D 5 C/ B5 I# g8 m, P
$ k& [% p6 K: O8 D7 {, {, _1 a7 k 1 M5 h: w) l1 G1 a9 ?2 ?
. `5 b/ S) L0 M( h- }$ i gen pminplddy240=`tempminplddy240' in 1, R- }$ p2 |' y p' v+ s
7 Y- _4 j: G7 d' F
*-------------ddy240pmaxp左侧高峰值 -------------------$ S; O5 C1 ]+ P9 {; z7 j$ {0 k
- ]4 G/ j" V8 P preserve - t; ] O* }4 o+ Y4 Z8 }$ y
% e& m2 C) j: q: e: K% d S! b; L
keep if dx240>`tempminp'
- M: v# ^# X7 t( h: q 8 |& }! `- R+ G. f; J m
keep if dx240<`tempmaxp'
2 U- }" k0 A9 j7 k; o & w/ I( L! L( U% ^+ h6 [ j7 R
keep if ddy240>0
3 v$ r4 n2 C4 C& k1 c count1 @3 r/ t K7 O7 a- S# Y
! R& w4 z& d7 D: f' C; T if r(N)>2 {4 k' t2 U2 M+ H5 p3 n; e; x+ w
0 t% }$ o5 h1 d$ o pkexamine dx240 ddy240
; g+ a9 ^9 {5 W ! P8 K8 f; I3 \7 f0 J5 ]( P/ F
local tempmaxphddy240=r(tomc) t+ F1 R. i+ {
) x: O, s+ X. ]) a% }+ E7 p
restore
/ Z! E; e; T; k: |6 J } D; d2 X) z) r* Y- p
' O7 x2 O- C5 W0 h else { e5 w( t; D0 h8 s' F1 N- X
' V! ^& k4 T: b* f& K& |! a8 D di "cannot find pmaxphddy240"2 T8 L3 y$ F+ {' n! O
restore2 ?6 v) ]( Q0 \
6 ?! }; ]) x1 x" e3 X6 ]/ ? sum dx240
$ A* x. F8 t' u5 [ local tempmaxphddy240=r(mean) : e& U1 p' q g4 [2 v) e
) ^: t& W3 V1 t: ^$ W6 T8 Z1 e8 ]( w
, l3 ~9 K; `" D' U$ @# \+ c }# a! j- L) n& N7 }4 p
% O& r5 h7 |' b1 ~' z& d7 \' \# Z0 d
0 L" G8 Q" H) v
N! G3 L& B) B2 z7 M+ D
+ ~: _. J5 {0 R7 q: X6 Q2 q; @
3 Q* F! \7 I- [6 L% F
4 y3 @/ s& D g+ C, j& q gen pmaxphddy240=`tempmaxphddy240' in 1# F" T( {- U" T# T
& T8 ?% b( V/ e. |" K9 Q
7 b' \3 `0 {. y- p; i" x *-------------ddy240pmaxp右侧低峰值 -------------------: V: ~7 r1 n3 W# j: C4 V, T
) U6 d$ k& ]# t
preserve 3 x6 r- h9 f7 v# x, u
9 @1 H& p ~$ y9 R& m. H% P# n keep if dx240>`tempmaxp'
Y3 `; t' U7 A0 I1 q0 [- a
8 S2 v9 q3 f2 c" l! C. e' m5 b gen temddy240=-ddy240
1 K. ] L* i; v" \# K
4 \' o4 G) u+ n& p; k8 x- `8 { keep if temddy240>0
. R5 c5 U4 O: J: M% S1 B, ^4 ] k) b
' U: R. v9 `/ S1 v3 U8 v count, v/ X2 ]" W1 a5 V: J7 z
' R. ?! p3 z% d& P if r(N)>2 {- C6 v2 W/ r& x! b# ^# s% j6 N
5 e9 b5 V5 [5 l; M7 N+ Q pkexamine dx240 temddy240& x j0 a8 z) m& o3 q7 {
6 l$ E( V. y. ~! I( b8 R+ J& k local tempmaxplddy240=r(tomc)
- v$ C1 L0 Q+ R! _6 Y4 q restore' |1 p. ^& [, w% x+ v; _
}4 R3 z n* e" f6 o. q. W
& ^. G' u; t7 t, L/ Y7 u. z. w else {: V% c$ Z% ~! S" t4 v; n
restore
3 g1 Y& ]! k- i$ s; @ di "cannot find pmaxlhddy240"
, ` g! r! E5 c& H/ p7 R/ Z 6 Q3 ^/ `$ ] |" V
$ X1 H: ]! k7 H- g/ T; w* F sum dx2403 Q; r; k" V- b" X
local tempmaxplddy240=r(mean) in 17 z4 s6 E; |; ^/ a3 [
# U, y* `& d+ H
9 M. J( A, J) S- U }" O& G9 ]" m+ ]' n C" F7 r
. G1 x4 M" E) f' w! R* E' R" c
7 B6 e j9 w9 Y) \4 b# d
9 ?$ g9 M, X; ~& j ! @- H" M/ C7 |* g' @5 `9 L4 u
8 \$ ? Y5 }& X+ J: t3 G ; V0 k% B% E0 i8 {' j
gen pmaxplddy240=`tempmaxphddy240' in 1" ?1 ]+ O5 f4 M0 a
5 H" g! X7 K U' }( X9 M2 r *-------------------------------------. }, O* B) w" a3 G5 q
5 T) B8 V: p5 c: ^# d+ [$ c E
gen price5d=v5 in 1/20
6 t) _# ^0 |; s& S+ W9 R 8 |, _ w; q% E
gen price5yy=_n in 1/20& \' p: ?# V4 I" w y- B, J4 p
% ^" h2 P) u; v: {0 G gen price5y=price5yy*(dy240max-dy240min)/202 | O& r9 S8 k$ S! Z
5 _: Q" E, Q7 Z) {) r7 O3 ~
*price5y &price5d
& B1 C4 J* ?' v% H& d& \ ( T6 D5 o j0 f9 N: h
gen priceny=price5y in 1# H7 [+ M. b/ e" E
7 X; H/ Y( ?; O3 s gen pricen=v5 in 1/ a6 r, t! p/ @5 H/ Y
/ a0 \( E- v- b0 {+ Z
# x: ~! G p) k! d1 f/ _ *priceny &pricen+ c( s& T' d! {0 o
1 Q% F. S* B. E
; p9 y- H1 n8 T, x# m, a% Y+ _5 `
*-------------------------graph------------------
/ z+ W" Q5 ?; I( m/ P9 J
$ o9 Q' J. }2 e7 W4 L 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)+ z. ~: D7 l, ]/ T' ]
% u. T# U8 R! T8 @+ @' V
* ---------可选项目----------------------
- V; H/ P5 K S% G9 f4 U4 e3 U6 u8 O5 I1 l$ `2 Q. g
}
' ~2 u" T5 D) e4 Y1 a2 s! `end0 b+ C2 m8 J) y- x1 s/ _
|
|