|
|
maodeng 发表于 2013-1-28 13:13 ![]()
$ H1 Q# j }2 u" S2 S. hello 3002361 l( Y4 P0 t" J) f% S+ o. ^/ h2 K
statement out of context6 d4 O5 A$ _0 U" m. F
r(119);
2 @/ a2 \. ]9 P) H1 R% D0 ? U T抱歉,最近太忙了. h9 ]* w; f9 t4 n X4 M1 p: a5 x
( h7 Q6 L3 A$ l
300236 我用下面的程序试过,没问题- |6 a8 I: ~* C) e# x, x
0 X( q2 }9 M% @你把 D:\stock\test\source 改成你导出的数据存放的目录,再试一试
* ?( B' ~9 z$ @+ k; b; b1 O7 U, p9 v( B
capture program drop hello, ]! R2 z1 M* |) B% c
: z7 C! n; P1 { S- C+ @# ~
program hello' ?7 a/ x3 J. Q( p1 x
! m H" W; |5 w5 f$ j7 R" |5 j' l quietly {
1 X) M, d! R. C5 y
- }1 h5 v' Y7 V9 m) gclear1 M0 @$ ~4 R; M# p- u! X- C
# z: s6 u, v8 X( \8 Scd D:\stock\test\source
7 G- a4 Q0 M6 d+ |* J8 z
( H1 H& s& ~! d8 `/ F* yinsheet using `1'.txt' T1 p; }: f$ T1 t/ s! R
5 K( ^2 V# {/ B j keep if v5>0$ n/ z$ {0 b# U9 o$ T; D8 T6 n* f
! L* C+ u& O% U% u' w* `7 _ gen vt=_n
9 Q C. s4 E+ ? " g+ Y) b f& D
tsset vt$ ^8 n% `" _9 r3 i
: Z# T4 ~% {* k3 e* A gen zf=D1.v5
" r3 R. y2 z# I9 ?; G
: Z( s$ J/ Q1 C1 X( ~" D% {0 j gsort -v19 k& R6 c& T1 b- Z
+ E- C0 W8 {. m" N. v, w gen avol=v7/v5/ K6 d7 y; a- M4 M' J
: l- `. G# v5 `+ ^6 x* M& y
keep if avol>0- g# Q8 c( s0 z; \7 x4 u% [
7 L! z1 \ ?9 m. `. p7 L2 }2 a1 K9 g
drop vt
7 o- X- U0 A0 }& E1 P- X8 [
; W/ G- [, Y" f9 J% {* y; a gen vt=_n
1 W8 O4 k. I- d
+ Z/ S9 }6 p% G1 n" N: Q, J, y# F' x tsset vt
6 Z: v8 S5 T% X: u4 z
+ r& `6 O4 Y7 y sum v5 [aw =avol]
: W9 X! L2 \6 ?: Q. ?
: b$ H3 b6 [5 h+ i, e5 Y gen amean=r(mean) in 1
# h. T* R& C! h6 s- {! m/ c ! B2 l2 ?5 f( R- ?% g
* 总加权平均值 amean. d2 B6 |4 A, J2 D c
$ ^ g" N# }* q4 S I
/ ?, x! |* U1 o8 v: ^7 Q keep in 1/2409 G9 V9 H/ C0 c9 G
: }+ _2 g; l9 b; L3 [8 @ i7 g sum v5 [aw =avol]+ A: s9 }: N" d: y' }1 R2 J
8 ?: S3 x8 p9 X k: T8 Z# n
gen mean240=r(mean) in 1
, p$ Q+ j% p( u( m( t, W
2 l& w0 `. e1 R7 @, i *240加权平均值 mean240
1 X1 W' ]2 k& V
/ v6 A a- i$ |/ [( E8 g set obs 500
! W. D2 b0 U+ d5 N. v0 ^9 X' w8 ^2 ] a4 f
- K7 y# b" R( ?2 Y kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph
& D* R0 ^+ }3 P+ [' _: |1 u " i% i- Y5 D% s2 E3 @9 w! W7 _, F
*240 kdensity(dx240 dy240)
7 h; c& K5 E4 I+ B2 z/ \5 f, L . l4 l" \: z, P0 M- Y
sum dy240( D6 k+ X7 f$ ]9 ~" v& G& ~' X+ j/ y
: Y; s4 O3 f# F$ S) b, e gen yxis=r(max) in 1
4 s2 Z, T% P5 i( l/ n2 g; H
# K6 k7 ], B6 H* L gen yxis2=yxis/2
: k$ Y( U+ J& U, ^, G' N7 d
& d5 A& _$ s9 Y w9 h. d1 e *yxis
0 ~9 ^7 Q' P0 R
1 B) w: |4 y- H% K0 F/ J/ x gen dy240max=r(max)) d: t0 h' ~( Q) |5 O" l4 N1 ?3 l
% T6 y: _0 E& M: J
gen dy240minp=r(min)6 z) H+ z& ?3 @" _7 F
3 G& M) |- ~" W( k gen vtt=_n
. F- }2 I/ @& l2 G T3 _) m/ A8 ^/ {
tsset vtt
+ y" j: W! H- w
+ w0 U) o2 O* B& H" b8 @ gen ddy240=D1.dy240/D1.dx240+ {9 A. }( l& Z3 n% N. @) B
+ T# U% M" x/ X' p7 a sum ddy240
3 d# j4 V3 `% h% B" m; ~0 \
1 n* R! c3 n4 p/ c2 a gen ddy240max=r(max)
* E1 O6 m% t+ R: |3 S; m ) C% k! a3 F9 L6 ]# O9 D( W
gen ddy240min=r(min)
; V* S" V' D* I* u7 x# g, ]
7 O1 P. R$ {0 E1 V) W2 r gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)
& _/ v' a* X6 U ^# D + d ^" i2 m ?8 A
sum ddy240g
6 \' ~- V. z; V 2 k0 W8 K4 j4 q
gen yxis3=r(min) in 1
8 S* _4 }; Z. k( Y9 I7 @ b 1 L" T' _. R; H* e3 u/ h, l9 P% g
gen yxis4=0 in 17 D. }/ h+ P( a+ W! x0 i" H5 q, h
8 L! m! B6 s# l5 F *ddy240g $ ~/ S# w! X- j, h3 m
) }8 b( @7 R+ p' ]& r9 g
3 v- B3 g; H" A8 T% }9 Z3 M* | preserve
p/ {1 j! v- @% C) ~& b2 Q
l8 c" x4 `! h sum v5 [aw =avol]5 N I6 T) @$ b! [0 ?
+ o) a% Y* @3 I W9 e' Q% U
keep if dx240<r(mean)
- S8 @+ H. l- ?
5 O; B* D, R l sum ddy240* o4 i K$ S }3 T" e$ C
" v9 ?, i" F2 ?9 x: ] if r(min)<0 {5 p# h+ {& }& g' V
/ i0 `- x& Y2 C6 F) v: ~& p j
keep if ddy240<=0
) R9 J; a3 t' e! [0 n ; Q7 U3 H/ z9 S7 X. X. k
count
0 y$ v* q' f1 A8 j4 p
/ _- T6 \+ [ O if r(N)>2 {
+ G* G( m# {& X# Z1 Z7 ~5 z
$ j0 |7 U* I! a/ \2 o! [+ `8 S8 F pkexamine dx240 dy240 p$ B1 {8 |4 Y/ l
1 v I" J c( q, x local tempminp=r(tomc)
- N+ X3 K5 J& | }! i restore
- ]% a. }8 u6 X& X% k- m5 p5 n0 h6 } }( W& w, I, F7 J8 j, H
! o7 p% e$ }0 d* Q9 ^. r else {8 c6 r' E% ~& ^4 m. z
6 I5 \/ U: }( r4 ~ di "cannot find minp"
+ y& d0 \* X: q+ ], t( t# l 3 o3 A$ I# x3 O4 {! w/ J, q2 F% L
restore 8 P* S. C7 l. K. k/ X2 L# h
sum dx240
3 o( J+ _/ f L% [8 | local tempminp=r(mean)
" I/ n; L* t4 s5 B& x2 g, ]$ e 3 F4 h0 O5 z9 N# g$ |
}
& H& V) C d' G: c }
7 X: K i2 q/ x: {( \ else {
$ @+ x4 y; A6 C, B
( y' P5 q# E5 X; @) [* N keep if ddy240<=r(min)8 Y& Z2 B' J1 A7 v
# [& F0 W7 T+ c, L/ s* x sum dx240
$ m# E1 r. v0 o' z1 n8 i$ b1 u
" g/ \0 s5 F& v local tempminp=r(min)
- m4 L3 {( Y4 \6 s& v& c4 Q restore 0 Q5 E0 S7 @ I
}
4 W0 C1 O5 \0 e' P3 i2 z& m) o1 u: O, q
6 C) U% F6 S: E) l
* B+ X0 F" [- G' x' w gen minp=`tempminp' in 1
$ A9 { `" M& d2 G. | *240 minp
% g: T' |( H0 Y* B& Y+ ~7 |" r8 I6 N$ |3 g: c
4 U8 ^; d8 E: p. k3 K7 \" w% c
2 `- H' Q1 \) e. [
preserve 6 \1 _8 \6 O- d
0 o. u' d9 m5 Z* d9 J3 X& O
sum v5 [aw =avol]9 C7 d7 w" ?: p2 s+ {+ ]
$ E7 b3 h4 V8 T3 L0 C keep if dx240>r(mean)/ {5 h3 y, W$ ~# G: V+ F
! d2 M* C) M6 O8 G" d2 e' E5 F0 m2 }
sum ddy240
- \4 _1 L/ O) h* Y! v* E( G ; V9 f# j% S: N3 k* \/ V; O
if r(max)>0 {$ @! {, w& O8 @* @
/ z" _" l# l6 _. J* ~' _
keep if ddy240>=0& V6 A! g1 ~; A6 ]7 g. Y! ?
6 \! e1 `0 l2 D9 p9 `0 j* S7 k
count
0 K: {: W. T( H# x. h. H' w# Q $ D& {6 H% o; [- X
if r(N)>2 { ]& ?& {/ F8 t/ J1 L3 c$ x% ?% \/ m& x: ^
& l: U: u: T# q" v
pkexamine dx240 dy2409 O' L, T/ D6 k, w2 U) g
& Z" q3 g S8 D local tempmaxp=r(tomc)
+ ~" s1 Q: X" ? restore
/ ^0 [1 \9 E: B' g0 Q }" T1 X9 Q! K2 ]2 k$ x+ j
" n# {, J" L7 L) p: v
4 b: Z- @) T6 P$ n* J else {
* k5 p! w- w7 o& O4 ? restore 7 c. |- _1 q) P! H! P
di "cannot find maxp"3 M; J, Q" n% n* b0 p; a# g
& c& ?8 G3 D! p+ F$ q7 f9 e) j/ g # ]# i! Q4 u4 [& n7 W1 a5 U. p
sum dx240! G1 v& v. Z; i! T5 M9 D" G
local tempmaxp=r(mean)! q$ c; C; `: j: U. A. F
# n! f% a" d% D+ U- E- c3 e$ g }! ?: }3 ^6 r. }2 a
( r; S1 C- m" P# K9 o# j) G
}
! v% v1 c" z$ O! Y' M3 ~ - X. [/ }# f% \
else {) M4 `3 v1 M/ {( N( {6 X. U5 e* A. v: B
" J$ y, C z @) w, `, W/ Z- U' L
keep if ddy240>=r(max)
7 A o- t6 [9 x
& r9 k& u3 N; U sum dx240: t9 @+ ]- }4 W1 {9 e
0 w' E7 F, \3 k$ _+ S/ p local tempmaxp=r(max) 7 C9 X4 N1 [7 m0 k9 j, J
restore 6 P/ J2 Z! J% b! [* \" b
}; G/ G! x& I* _' s0 z4 @3 D' X
6 U( h- p. T: l I& w6 }: }' s2 p( f2 f% l
2 b0 X; t; n, U4 v" ^# R
8 ]2 A. l5 U0 l( Y$ u( | gen maxp=`tempmaxp' in 1
; l$ v; n9 {! L% h! D ( Z6 f- w# y! I* @, G) Q F
*240maxp
U% _. |3 c( a1 \4 K0 ]+ e - t) \/ Q& q8 L/ G, Q
0 F- S, g3 w7 J% L% C *-------------ddy240pminp左侧高峰值-----
8 N/ u* ^0 k2 W2 d + ~+ r# [. |! c9 f0 J) m; R
preserve 8 I" q! u% L% P8 ^( d. J; z
8 |# s6 i, c; g( H, ? keep if dx240<`tempminp'
2 t8 q8 ]5 u# b) P. d
+ Y7 H6 O6 e$ h( h keep if ddy240>0
4 u$ H4 k3 q6 N8 k( B8 G
: m2 r8 p5 w# Z) B count
! L* J8 T' O' `( E" F. Q ( ~9 w; X3 G4 S9 {! m, I8 T
if r(N)>2 {0 Z; o: y" b. D" n( V' a
+ q6 H p: n9 F5 Z
pkexamine dx240 ddy240% `$ r$ T8 _! k5 x2 P9 {/ z
3 q: g, B% K2 _9 K
local tempminphddy240=r(tomc) ( R+ N! x# B/ D
restore
. ?, E" X/ S) e. \. w/ C/ ~3 t }6 \# G* `/ p% A% p
' _$ D5 J; b, F( K/ V else {' V5 y3 E. F0 S8 R3 P( B
restore
. x; v' O3 \5 z$ O2 } } di "cannot find pminphddy240"
6 U7 q- t4 A2 f3 F$ f% U
) | @7 f& y0 K ~: ]
& k' c+ N: | B# p sum dx240
4 R7 E# v. v9 j( }+ e5 Q local tempminphddy240=r(mean) - d# ^" ?0 [' m
' F7 {" y* N A4 @- g/ j. n
) ]% G y3 ^ X0 Z& N' q% r6 m }3 F0 @) d2 @9 Q% Y
/ K+ g1 {! I. m* {4 O. X. W4 G
1 Q8 E0 ~+ E4 s9 h5 }
* V7 x0 a6 g2 Q . ^- z. u1 E! V* K9 V" k# J0 E
6 P: h! C9 a: e, p( r
8 s3 k4 ?8 A6 u& @! h
gen pminphddy240=`tempminphddy240' in 1
) A. o! J* `% [0 `* {% y * f$ y$ }; v6 n. x, x( v+ ]
9 j+ J/ U# u7 H
*-------------ddy240pminp右侧低峰值 -----------------: n9 m- _* a* Z- ]4 x
preserve
- ?6 c$ B' Z. j5 Y$ C/ q
* S& g9 e, ^2 A0 Z* _5 F keep if dx240>`tempminp'# [$ R- p/ L2 s9 ]$ L% S$ k2 s
, U% y2 i( _6 V3 p* w7 E; O6 F keep if dx240<`tempmaxp'
9 D5 x; z) r1 S3 m9 k& `
# p' n) s$ q6 L" }* m* R) k keep if ddy240<0
* K4 m, [/ V* D3 T- s" c ; r4 z( T( y* g" P
gen temddy240=-ddy2409 g+ R: D* S: S# F$ j$ b2 j- e
, t% A/ k2 S! k2 \1 H& @
count
$ @/ f' _* [( g. ~; A & ~' i# P/ c3 D. w
if r(N)>2 {3 O) A% q4 K$ P
. e0 s7 K! y+ p9 s9 v4 y1 j pkexamine dx240 temddy2400 ?+ I9 j! C* }1 @
: u9 V: j& m6 N( F4 k+ J local tempminplddy240=r(tomc)' Y! y+ Q2 O3 E6 s+ c) ~
restore
$ P6 g. u7 F2 a. `' [. E }: }) H+ m3 ?) \5 w+ j: Y# |, r4 R
9 z6 Z+ Z$ y6 ]) c2 t% y
else {
" e1 c: K+ L: ?# M4 `2 P0 Z0 f/ U% N ) w) ?* N+ K: U% S9 i* S$ ~
di "cannot find pminplddy240"( O6 I f! ]! c* i( g; Q
restore. u3 ^0 H. B0 u+ |2 h/ [+ Y2 \
, o& I3 k( G% K$ e2 W- Y- @& y sum dx2402 ]/ t: U# h) U* l) |; T, }
local tempminplddy240=r(mean)
; N7 h2 b* c9 `9 i/ w; G+ j {3 T
+ e, e# k) k2 D/ L# g / ]1 w0 Q% F6 [- Z d
}
, _4 Y: Z. ?# l* q2 j" f
, w6 ]& t: o; {% h0 \ ; L) |7 D. x$ q" l5 ], A4 B/ M8 n
6 v! h2 S i |, ~
# y0 m& n9 @0 p
{. J, y- \- M gen pminplddy240=`tempminplddy240' in 1
7 h3 T m1 w- H: V! x- a- y 3 P; M8 E1 j7 Y. Y: M& o
*-------------ddy240pmaxp左侧高峰值 -------------------$ z% j. ?2 y N3 D+ }% P% L7 O0 a
! {6 S! h) y4 t. {9 @ preserve % M& z' a- N+ L& @5 s- s; Z( R
: n% a6 h0 @# V keep if dx240>`tempminp'
$ C% a( _* {, c/ n% V1 D
$ L( Q3 J* m$ C4 e6 J2 w: v6 W2 B keep if dx240<`tempmaxp'
5 B* C) H0 _4 A9 F& a 1 R) x& U4 ^) m% y3 n
keep if ddy240>0
1 T' \" q) g6 H& j, i* b3 o$ L2 S& S count. ]/ b1 p0 ~" ~0 D1 L2 y
9 v! k X9 D! [ k
if r(N)>2 {. ~6 Q" b7 f2 z* K6 L0 l* t
& i# }- d @0 }
pkexamine dx240 ddy240
* {8 l5 O8 F, ]# k7 d p2 g+ F( b : X. i6 ~; b* Q5 }& A0 {+ [6 w
local tempmaxphddy240=r(tomc) ) @: d2 o. I1 i# ^
: J% Q3 F- g4 `; C" k. W
restore% h9 N& |' d9 q/ Z% T8 t
}/ `! J2 Z) a3 `& M# f) K
$ }, O5 s9 Z3 Q5 O
else {. S0 r* L+ v/ c
3 d9 S M4 b& k! G/ X# o6 G- U, A di "cannot find pmaxphddy240"3 T. n* B* g/ h1 F3 T
restore
. H- s. l. Y# V0 j: R A " f; w! ~/ F# c/ u
sum dx240$ \8 i) ~# L6 P4 S* Q# P
local tempmaxphddy240=r(mean)
$ ^$ |5 {9 G7 {2 x3 o! } 4 h/ C9 o8 H( s% K3 y
/ C- b9 q+ y B }5 _ o" Y- r3 J' G' e, l
5 z* G) t+ a7 t+ u
) A0 l3 M* g) L$ ~) m- v : Q! d1 t. e4 F8 ?3 @5 a2 u
# I8 P- d+ k' n i2 i3 ^2 W
8 W! I) w* b' D 6 q; ], E: D4 I5 j- W
gen pmaxphddy240=`tempmaxphddy240' in 1
x' s$ t$ x7 ^1 q- l
5 B' v4 n# G' X i
, y+ ? x* m0 [: p* T4 V3 S *-------------ddy240pmaxp右侧低峰值 -------------------4 \9 x F$ b& @8 h( m
) E* n/ H! J; a) e6 n
preserve ; S9 e/ [0 { H
; J! }3 M- V$ ~$ f$ ?- p keep if dx240>`tempmaxp'
- f/ V6 |# K; G/ R' ~/ x
: @0 r, C4 N$ N) K0 g: j( P gen temddy240=-ddy240
& P' `. \1 B+ B, Y7 v" ] 2 ^. d1 }. D& `7 S9 v
keep if temddy240>06 O9 ^) ]+ z( A/ Y; V1 P+ r+ ]
. D, N8 i. U7 T! R+ y1 O# e/ N
count
( }7 |. L/ a9 Z
6 |6 _, |; y( o$ g if r(N)>2 {4 [ I9 d( |. H* a( r' x
; Q& s, C5 e* w2 `, ?
pkexamine dx240 temddy240* W0 P/ V9 k6 t
* N& {1 R( b* k e# X
local tempmaxplddy240=r(tomc)
8 U* B6 w/ s8 X* g restore
( Q' r( z8 Q) X9 B* a }
3 M0 }* ^, [6 m3 D3 |% o: [ 0 h' U Z. E, e" c" ]* L: h
else {0 z: u9 F+ K* k% k5 p5 Y. w/ {
restore
6 }6 ]& }3 w' Y4 g di "cannot find pmaxlhddy240"
' I% K0 y1 y' c+ q6 [1 o
' i. S* p" |9 ^; { 4 \/ h+ _! T! d; A0 v
sum dx240
& d' ]' t# v2 m' ^) o: E4 {( R, r local tempmaxplddy240=r(mean) in 17 U2 `2 Q+ K# Y
9 Y- y+ o2 j2 S, q- Y0 e
: h2 ^* W) e% `; o( a }" P3 ]* V% h3 D( \ V8 \: A; p0 H
C3 A3 v. g8 C. b' v% F& \
% l0 Z: Y3 E. e5 y, u) Q
6 g7 k. c% ~" s) K8 N7 U$ G1 R . T! n& `+ c8 ?2 `1 j6 U8 F
9 X: ~. w" g# H9 Q) Z: f: I7 H
" m3 }9 S) K$ \- F gen pmaxplddy240=`tempmaxphddy240' in 1( T3 m w9 p3 A% B
8 Y! U& m3 @0 F* g3 ^
*-------------------------------------
0 `" u; Z) I$ H" v' ?& T' `
! w: u5 T) Q0 e: K/ t& \% r! \ gen price5d=v5 in 1/20
n/ _3 C+ \0 P- ?( t6 }3 t! G
4 v0 [. R: {9 F6 V9 A5 [' ~ gen price5yy=_n in 1/20
7 x0 B' }" i6 x( k5 j" O& t 6 L2 w; U) b! @- ?5 {0 N* A8 N! f0 M
gen price5y=price5yy*(dy240max-dy240min)/20
. `6 N& ?" W$ N% }& p
7 X4 u: L' O' w) z( n3 i/ V *price5y &price5d
. i0 U, @# H, J( h3 f
4 F- W: s, M! `4 Y. p gen priceny=price5y in 1' |( A7 U0 N; g0 \/ ~
. g V. i1 _5 c' g gen pricen=v5 in 1
: l( W$ h9 w3 ]' C' Z" w% e/ s$ Z$ ^( C/ _& x: ^; {
: s u2 l% x" j/ h" o. @
*priceny &pricen) A& R% a/ Y. q2 o
) Q; h/ c' V9 A; n) U! T
( z$ ~) o9 p! J *-------------------------graph------------------- J7 L+ @+ l- H ? p! V
- O$ k6 H% Q# A- F tw(line dy240 ddy240g dx240)(spike yxis mean240, lc(red))(spike yxis maxp, lp(-) lc(black))(spike yxis minp, lc(black)) (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)
/ O% y8 b' N7 H' d1 \4 m* W7 | R+ a3 f& T$ n
* ---------可选项目----------------------- w7 i2 x# \+ V( X& F5 B5 i
*(spike yxis amean,lc(blue))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean))4 z. Q) S# L( l4 k: L/ ~7 F
}
( x7 C: @7 g0 ?& I; x9 e! ^; Tend! H* q: y, V6 w: z& z
|
|