|
maodeng 发表于 2013-1-28 13:13 ![]()
8 x& S+ d; E3 m! ]2 V" M7 U( [. hello 300236. Y3 l3 E1 G1 _) e! I
statement out of context
% B0 |8 Y$ M Y, j) M! ?$ ur(119); . w! K9 {. e& c4 y, x# r% M, J7 {
抱歉,最近太忙了! r& M( \7 v: `0 \; f, e. p
6 `" ] z0 e9 y g
300236 我用下面的程序试过,没问题
( |8 J; M) d* C# z# c2 g0 ~# [& v7 [* M; }( x( e
你把 D:\stock\test\source 改成你导出的数据存放的目录,再试一试
: ?: {, g4 v, V( r9 z# X6 J8 }: A, [* F
capture program drop hello+ K) k6 ^, e3 g. E: }. U$ m" ^
+ q$ {$ ]/ ^- ]' X2 a8 iprogram hello" ]+ F4 ^+ i% @8 G
# ~# T# @- N! H+ n: ?7 \2 f
quietly {
, d% ]2 c2 C6 D9 Q9 j+ _9 n4 X% M0 I2 l$ ~
clear- |8 Q% f! S4 w, U8 ?5 b+ s/ n
/ R) @- o2 K: k$ G& k: ]$ _$ Y; qcd D:\stock\test\source
' K9 k. V$ W! Z) _ [' I. h1 L* E' \ ?$ h8 T, l
insheet using `1'.txt
+ Z) B$ Y1 z8 ^- g! E1 I/ x3 \7 ^* E, q/ J4 g
keep if v5>0& R$ W% n/ k5 d* P" i# h
6 {) t2 A2 Z- Q
gen vt=_n& x+ @* [, `; X
& ~. I3 e! }5 B; b! p! t
tsset vt
* E$ s- l: R3 `9 G* M6 O$ {6 C1 }
gen zf=D1.v5
# l0 s9 e3 H4 Y+ t
0 J" P2 \( Z5 {) V gsort -v14 m* [' k) P6 E# h( F+ C, o! q
3 l# F" b8 C0 | gen avol=v7/v5
; d$ a/ I# r: j2 Q% Z$ @ 1 m, b% \5 x# ~7 }1 p/ y
keep if avol>0
' ]- j4 g" |$ C k
& J3 t* q) }& O( X+ Q; z& U drop vt
8 C- F; F: `% M ) F$ `6 ^. H# Y* l' C
gen vt=_n
- n1 H9 ~) A) M& ^ & H- z& u& K! @1 P" x
tsset vt; M+ F; a$ f6 g7 [& K0 B* n
" K* X- o, ]( j
sum v5 [aw =avol]
. P0 n+ K! v( H, t- m( ?) L
) P. Y8 c- W5 @) S; y0 K, x% n gen amean=r(mean) in 1+ s Q9 U6 O4 k0 a: j# R7 ]% I
! m4 h- j( |0 u% G * 总加权平均值 amean
3 z9 Y4 a3 w) E% l: m% e( U _2 B+ t3 H ^ " U: }# E$ [* I: \. u% K
. o8 r. d/ @7 g3 ~9 ]! O1 o2 t7 X n
keep in 1/240
/ i, c# m9 Z3 ]
M4 d- Q# {& o2 ^3 F6 [# K sum v5 [aw =avol]
`. d6 J, U! |( {, o+ Q* n/ e5 N% q. Z- y8 L
gen mean240=r(mean) in 1
* y# E8 F9 u1 r) b% o/ Q$ C9 D , g& ~+ [1 O1 q) H0 O R- c+ p
*240加权平均值 mean240& ~: L Y, ^/ z) n' d& t6 f
* s7 R n; B5 {* N: _
set obs 500 1 G* w, \- {( K* M6 [. U% w9 K" R" k
! g; a0 H% T6 N. I7 N3 ` kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph T+ x* K$ G# V$ k, x7 d1 h# ?
7 D8 ?% f) q2 M- r! h *240 kdensity(dx240 dy240)
" b* Y0 _& a: }9 }8 F! v6 i0 S 8 Y. U- ^ J3 x( e* ~
sum dy240
" B3 G" L8 J! ~0 N
! a/ A" a& J. f: e gen yxis=r(max) in 19 D) @6 g8 ]3 `/ D
# i8 Z% s! ^0 Z3 V) v$ A5 z. v: o
gen yxis2=yxis/26 k L/ v* R: _ E/ Z( R
" E4 ^' a$ Y$ {4 ^3 \
*yxis
1 a" ?$ F8 D# Z# { P& J. a
; Z: o7 l, n C gen dy240max=r(max)
' i# s ?4 B" J x1 r
/ A4 {' N& A s1 U E3 f( R gen dy240minp=r(min)
4 t q. S0 a& w6 L$ J
2 I4 p6 E1 [, H* t2 z gen vtt=_n7 V6 F/ y2 ?( q( V ?8 ~
+ k- p5 w' ^. E* b& I1 X tsset vtt
( E, P5 O# j; b& ^7 `+ K1 Y2 s8 Q& o
gen ddy240=D1.dy240/D1.dx240
8 u L5 P- N" k0 @+ J7 K ) ^ f9 c1 [, c! D+ ]
sum ddy240
+ Y5 h% i/ o! T# { - i- O/ Q4 A+ Q
gen ddy240max=r(max)
3 k' `$ q5 ]& H3 g* h* K$ J, U
) C6 ?8 Q3 T$ L( D% p) @ gen ddy240min=r(min); s! K" Y; ?* q) ?8 S
1 k7 l+ B% u! f# ]4 g) ?+ k gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)/ Q1 o# P( J2 ?1 t9 c. l* v1 S
* s( ]' x% P5 o e8 }
sum ddy240g
8 J7 k+ {4 V5 P/ j5 D/ f; G 8 a: r R9 g0 k8 _/ D3 T: t
gen yxis3=r(min) in 1& E- k, o( y2 W4 ^; p
+ O8 g6 v- D: g% \; n, k
gen yxis4=0 in 1
( L6 K9 d" F' V/ ^ + C% J/ Q3 n6 V4 J: S" j3 z$ ]
*ddy240g ! O1 D: L! Y4 ]8 j/ Z
, d8 s% f- ~$ s# M
7 m4 r' a6 |- m) M preserve 4 o; {! s, m2 X+ P0 _
, y+ Q5 L: f# K+ L* F$ ^3 [# T* Z
sum v5 [aw =avol]9 b- G) ]! l8 X3 T' w$ O2 h
; {( L/ \* @& C' G+ b% X keep if dx240<r(mean), x- I3 ?. v6 v+ U/ I
) H# c( J6 H/ A: s$ Q sum ddy240
{0 E3 F) n( a* s- N. M 5 H! z0 ~% Y, u1 f1 ?4 u- L
if r(min)<0 {
* b* J) n* h/ d6 i# J 8 m) i: s/ O/ p
keep if ddy240<=0
! H2 Q% j& n% M/ F' Z. F 5 ?1 D% I5 n) Z7 s0 T2 |* _. h
count% U# x& L" E v. e5 P
) W( ~' M- f6 E7 f% I6 [* i
if r(N)>2 {1 `7 X+ U4 z- v1 R
6 U& N2 ]8 g6 {0 |+ L
pkexamine dx240 dy240
2 p( w$ Y7 k* P8 c, Q: {3 q
' b. s2 f g/ a9 ]3 h0 \- y( } local tempminp=r(tomc)& z! r1 F0 J6 ?5 m! ]4 f- E
restore ; T1 x0 K% J$ Y# ~- ^8 \
}( @/ {( R! M- n/ k M
# n: C( S2 B5 q5 b# m3 x& ]3 K
else {
2 l3 j/ }0 v( P7 W2 L9 v 8 A7 L/ F+ M7 [$ X# q
di "cannot find minp"
0 b0 x' [7 N4 H$ n. g5 g 1 Q7 N2 q7 h# L. O$ i
restore ( Q" N" O" v% q b7 ~% i
sum dx240
" H, @' |( t( }9 a/ e* U local tempminp=r(mean)
% Q! H" s& {: S' ^/ G3 q1 K* G
8 F% q& J$ k6 X. C }5 _% t; y' T% `" a# G
}; ~9 L( y5 q! L, m
else {; l* i7 H3 H0 k2 a; v: c
: d9 z0 u. e( X' F
keep if ddy240<=r(min)# J" h% ?6 ^, M/ ]; f y8 l) v
; g z$ ]! N, F0 `
sum dx240
4 t* {( l( ]+ s ^ / u$ V* b' j* g& t% P" d
local tempminp=r(min)( d' Z) W) }! s
restore 1 @1 I' r+ X* N# A U1 b
}
6 j6 q# c: X# S
# D1 h9 A0 [$ N9 H+ m! [
7 v0 M5 {4 V! h! u: F
- j" l" G' d& ^ gen minp=`tempminp' in 11 n9 G& L) T$ b0 ~* K: o. V5 ~6 O
*240 minp
, x: @/ S4 n% e4 ^: x0 o8 a* q9 a( e1 W! @- k
& o2 s6 r5 B' Q. Q7 x% s9 d: _; j9 ~+ B + r8 {4 u+ u) k G, G2 [
preserve
3 u8 Z9 R# _& O" Z8 T1 y5 h. n' W
2 m2 `+ m$ O9 |' \5 h4 _* x$ l$ h( f sum v5 [aw =avol]
) X! {, m2 q/ Z; ? G4 ^, c/ `0 H
5 q! `; ^% w* L( J6 J2 Y keep if dx240>r(mean)- O, g5 y7 H) Q* @7 S t9 L
8 f. z' p8 _) w% H) J) ^1 K* x$ p; R
sum ddy240
$ U! R. ~3 d4 p! s' Q 9 B3 p- {2 {$ i: `
if r(max)>0 {" a/ T, ?: Y% i8 L
# l6 e7 H- k9 `) U7 g keep if ddy240>=05 q, v, W- G$ f3 m$ y% {: B
# E3 |5 j( r7 o7 O count
2 y7 i s* R& _; ~& @. g' x
; L" g- J+ r6 T% E/ W if r(N)>2 {: E, R; [5 R1 C! b& I. c
$ T+ j2 p" ]( t6 }" P: p* ]3 b pkexamine dx240 dy240
3 j( S1 z4 _3 t 3 g. K1 K7 C1 u6 W8 Q$ X+ y
local tempmaxp=r(tomc) 0 a- ?0 J+ q7 k9 K
restore
+ f! ?. [3 E7 `6 S. ~( [ }* o! L% H- D4 B3 X* E; Z
# l' C' }* x- u5 c( _- q3 f
* x( D ]- I, L, \! c1 e' k2 Q) I else {3 }8 P: t; L7 ^
restore 2 C' E" b* \0 J8 V/ v) h
di "cannot find maxp"1 P2 f. P) w5 S! C2 {# B
' X" k3 I% o4 S2 D; N( e( ~
2 x* }3 W1 z( Y sum dx240
; w- {/ D2 Q v( d& U" W; V local tempmaxp=r(mean)- s! V. b8 t6 b4 {) W
% K) ~* c: V/ F+ R: F$ H }0 J! ^3 S2 B% M9 p; T
; b( C0 e/ }/ Z/ n }
# m7 Z/ R8 u8 ?8 h" R4 k; P# f 8 v2 z$ R$ Q: Y3 K
else {
1 q0 E# [& C) i0 u! M$ F" `
1 o: J5 T! n* s8 P keep if ddy240>=r(max)% D: O0 \) W X% n
- Z- R9 z; n7 `# ~ sum dx240
6 |, v W5 ~2 d F' J7 E) H% R$ h% o2 X5 B
local tempmaxp=r(max) 6 c% e H+ k6 C6 e7 M
restore 0 }5 X: T4 s( L' o7 z- _; p
}3 S$ K! O( P( l: j
: ^. M/ C6 @4 i! s$ }- e6 ?% H5 ^9 O
) a9 i% h: R% X) i# r' T0 j
& I' p9 r$ n$ k0 D, `* F gen maxp=`tempmaxp' in 1( {* E- M; l- n5 I
3 c/ c* f& l. u. S8 T2 m& F/ E
*240maxp
0 N! H9 {. S: Z7 _) j" B# J6 k6 c+ ?! Q 9 x/ F2 V) o5 U( y
# o; d4 ^" {. _0 a+ K* ]6 q3 n
*-------------ddy240pminp左侧高峰值-----
# e8 Y, c: W! e7 N0 C
3 o2 K- f- i! a a+ i preserve
8 |7 L; E6 R9 m. K: j- `: `# t + T7 K% t5 p9 N% ^
keep if dx240<`tempminp'
2 h9 d" h; _3 N! | $ p) @& L g9 f; F& [2 x0 u
keep if ddy240>0$ X2 ]% U" V& S2 b* `& I- O
7 O6 H4 J/ ^) L$ n6 N. v count
) y P2 W+ R) l8 X& ? - k; y6 Q4 j) Q5 J3 B# {& r& E
if r(N)>2 {
3 f2 m! ^" l1 C0 F
* U! R, {) U$ D' ^9 R pkexamine dx240 ddy240
: ?3 ^4 m9 K) m
9 @9 L4 h# G6 j" ?$ u local tempminphddy240=r(tomc)
4 I5 r9 o# v0 t restore e3 x, n6 m9 a3 c$ ^: q
}% C& M w; y. |: L4 E' ^) B
$ V8 y5 Z$ A) u else {& Z9 |+ q, ]8 v# w
restore 6 Z/ k7 f' t- ?, L- R/ ~
di "cannot find pminphddy240"0 o5 K& C' t w
! j* \$ L: j. P) R( l& d3 w" a& c
2 z; }; W2 P! @3 K8 ` c5 F sum dx2406 }% n9 m4 L, @ x) X
local tempminphddy240=r(mean)
) G/ ]; s! X) B t 0 P" C% b+ f6 Q
+ S/ D6 B3 |" R# C$ W3 r: @0 c }
! L3 x9 b7 B% }$ k+ N3 u2 P; Q$ Y , y4 O$ k. i+ n& V
/ l4 h2 @8 H' p% V
/ s. @. B/ _' b# C6 e
: V: ?' |+ h1 c x E0 w7 f Q ! P4 v. ?2 V; O$ D
! ^7 T2 N8 A5 k [: ^' l2 |, `/ L gen pminphddy240=`tempminphddy240' in 1+ C0 q* t+ ~* f, s: X
8 e% a+ G# J- Q" H- L
- }) y" x3 _- P. v *-------------ddy240pminp右侧低峰值 -----------------
! z* v; f4 x: J, M* P9 T& u6 g preserve
0 o2 z s' W! F9 ]8 H3 t . \- {7 ?9 @- y( \
keep if dx240>`tempminp'0 P$ i) `$ U+ z/ M) @2 r
; S$ _/ l/ Y6 s& e9 K* D
keep if dx240<`tempmaxp'; L6 V( P; D! _; r1 w
& }( J# ^( N+ J' k, j3 ^
keep if ddy240<0
0 y; B7 R! P2 B1 B% l i' F
$ F5 ^9 d0 Z# L o5 \ gen temddy240=-ddy240$ I9 U3 R& @0 n' G" \/ g! u
$ |0 W5 i4 I6 g& g5 L4 ~8 L: E" V count
8 K# M, l, |8 @* x* d8 _! a ( H: \- u+ `* `9 K2 h
if r(N)>2 {
' v8 v! w- R" F7 V" Z ( ]7 l8 F, D# u9 X- y- \
pkexamine dx240 temddy240
+ L4 C0 M, s3 B+ e
. j8 V& ?% v: }3 ^/ ?6 O. ?& k local tempminplddy240=r(tomc)
! p4 ^% e2 }( f* i: O3 Z restore7 u! J, ~4 A6 q- u. E# e# R
}; Z3 @5 X0 I0 ~; p- K! P2 U
( A9 w h6 `0 w. @0 [8 J9 J else {
. ~' f" c! B# H. w; X6 l' s
8 @; {5 F' C) z di "cannot find pminplddy240"* C& _% R, U0 }+ W; `
restore% k9 ]3 N/ e0 |7 i: y! L Z4 X: Q# T
0 e5 p# O; b/ ?. U sum dx240
& ]" G6 s1 w+ d2 W. ~! x! w7 q% Q, ` local tempminplddy240=r(mean)
* L6 }5 _* @% S b2 F- K8 Q2 {. h * D) {6 h0 u5 ]( `
) ~1 G9 Z/ s A/ @
}( ]% X/ w, N+ K9 ?% _0 d
9 N$ F7 i* G' V1 d
* h3 |. d" n- L2 W: Z7 U # [" L: p; u2 T& f- M
* g% ^' X* P8 K, L: ~
5 v1 d @0 ~. N E5 P
gen pminplddy240=`tempminplddy240' in 1
; T+ _; x. j, h( b( g
* Q7 o6 y& a2 m) G *-------------ddy240pmaxp左侧高峰值 -------------------' d% [0 t/ I# R2 w4 P% c, S! |
0 s3 S R& G: b/ L preserve 6 f# d% N- w7 Q2 D: m& l2 y+ z: Z- w3 R
7 a+ @; D" r' U4 M% s2 D" U' n
keep if dx240>`tempminp'; i. \ S6 l* x. H1 L1 f
' C- { J0 y7 m g( t5 U
keep if dx240<`tempmaxp'
- ~" c! Y# h1 w9 j4 |, W- \
" s0 k( Z3 @" E2 u keep if ddy240>0+ A1 r9 }7 U, x( F/ _' e5 q
count
' g T* y; m) O2 ^3 X6 t
+ y1 X2 e% c( g% t- a if r(N)>2 {
$ V( t3 G: t' j; S$ Y/ `* H
7 W/ w& h1 ]5 E0 M Q/ V" r pkexamine dx240 ddy240. t& i: J9 _5 c" B/ q$ N# ^
' V. G4 E& V* x" l5 H
local tempmaxphddy240=r(tomc)
0 ]2 l, C% t; U* U+ p& Y+ E
* J5 t s% ]' ^' B4 r% u7 G restore/ f6 c& n' T0 B2 Y4 h( d
}7 O$ ?. C P. e! U8 G- B3 \
! |7 R) v* _% r( }, G else {
3 l& p/ M& j" p4 ^9 B* Q/ _
! p* Z. g7 S; `" j* R9 ]) e! L5 { di "cannot find pmaxphddy240"& L8 S( w6 y- S9 d. @
restore
, ?9 q9 w9 m- z) w2 ^8 S( ^2 f ; }5 S$ w* M. i6 m$ z7 y% \7 U' i
sum dx240
2 T& o' A% M4 g- R: ? local tempmaxphddy240=r(mean) ' t r+ d. E- ~/ {9 o/ A: Z# u
- u) j' E+ v- R$ _5 P
/ M) H' ] b- n t3 |2 w Z }
* s" D+ ]; v2 o; c% K& S$ N" G$ f
; n6 L: z, T* ?) M
: v5 F1 n6 p& @3 L& q( | 3 U. {1 p! o4 q' `, _) l% P* H( }
" B/ Z9 z5 j0 d9 D1 [& c 4 B- f+ Q% U! f- ?+ e6 ^, T
0 E9 b2 I6 X; u$ s
gen pmaxphddy240=`tempmaxphddy240' in 14 u" j g6 W' T6 X$ c( X. c" A
$ u" m/ B9 Y. E! [5 r
9 J$ J, d9 d6 ^ *-------------ddy240pmaxp右侧低峰值 -------------------& l6 _; W6 m% ~9 A* H0 U2 p5 f
9 t' \+ T \* c+ C7 ^9 z4 C6 p preserve $ r1 \2 G s, F1 h
9 ^: w/ H3 w1 x: l# B& i9 |0 \# R
keep if dx240>`tempmaxp'
* g$ I$ a* b# Z+ s4 _
" d9 R" h- q6 c gen temddy240=-ddy240
# @, J! A- W- a6 Z( [5 @
) Y) n/ s: i/ \; z( d keep if temddy240>0% O6 H' [' E2 x$ z! Q
; W0 B) G" Z1 y- L! f4 E count
, G1 v- e/ b% Q0 \+ O
$ k6 x' x+ h+ R3 d+ H* M( C if r(N)>2 {% t% K! {5 I: N) C2 ^. G
5 m% Q0 V0 D0 J7 D pkexamine dx240 temddy240
7 Q% Y- P+ ^' X, o) w' m 7 A2 A9 M7 I- r! V
local tempmaxplddy240=r(tomc) / R1 n( X* D5 q2 q4 W
restore& { U) t: H/ U& ], D" Z5 g: K
}
1 V5 [8 @7 i% J. m4 |/ k* r
+ P( B+ j4 z1 `5 z: [ else {
8 ?2 k& B A5 W; h/ Q restore, z/ r0 K2 U, a/ W2 k& R) I
di "cannot find pmaxlhddy240"
" l! m% s$ Q* O; L2 o- H, _, ^' Z / z; k$ a8 k1 k j
6 h$ _6 V" \" T7 ]1 z. r2 q sum dx240
; G& f. M8 G. t: Z8 F. ] A( c local tempmaxplddy240=r(mean) in 1
. x6 @4 J+ P# c+ ]2 B; d# \1 o! n - F7 ?% |) J3 `2 q7 E: s7 W
* w5 Q7 M8 H/ U4 A: N; R0 C5 \
}
$ c% b" r0 ]& H$ \% M+ ?
5 }, D& Z9 Q/ C0 x
0 W5 h. u1 S( N" o$ u f
: W* q2 Z+ R% R- \! h7 m
( \ ]* R# Y5 ~0 y s1 x4 ?
+ K" [9 @$ T" t
; v9 Y& r' y. d% J R: H# W gen pmaxplddy240=`tempmaxphddy240' in 1
0 G" t/ \' s2 e2 D
9 o/ o6 N8 v5 B! R *-------------------------------------- G3 L, X/ P6 n4 V$ j S
0 f+ V. j. Z }( ^ ? gen price5d=v5 in 1/206 @1 s' V% W' e9 H' a# Z
0 z9 }( E. ?0 {) ~ p- z7 z7 Y( g
gen price5yy=_n in 1/20
: G. i# w: [1 X7 F; A
* \5 |( {& m. a$ Q8 M. ~& ^ gen price5y=price5yy*(dy240max-dy240min)/205 B! e& @2 o S4 C+ }$ R; N
& Z o6 C8 N6 d7 I; v" h( G
*price5y &price5d
& |- U. V8 I! [5 u! V5 i
2 x1 v/ g1 Y9 M* A3 G9 X gen priceny=price5y in 1, e) ]' J I; ?
, s1 Q% P* i/ G1 U
gen pricen=v5 in 16 A' N% C J4 d% j
6 A6 M7 b7 k) B$ t, j; a
8 Q+ ?( l6 C" g1 S' h6 S# A
*priceny &pricen
z3 f4 T' D6 k! F" |: n8 K
0 P0 E b$ a0 t$ G & e4 B* y& Y. T; w! s+ s/ z
*-------------------------graph------------------6 u! A+ P4 D, M) u' O9 F$ t& ]9 Y( i7 j
( v7 e7 e4 _! t R8 B 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)
9 w( T: b0 F6 s: R* j
: n2 N& K% |3 W6 D* ---------可选项目----------------------
3 K+ ~ C; X7 P' @! }7 [/ d1 ?/ K*(spike yxis amean,lc(blue))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean))
' h! G6 i2 G3 T {4 e1 |}
7 q+ E; k) z; A# W6 Oend$ }/ c1 P, H, U9 N) n" }
|
|