|
|
maodeng 发表于 2013-1-28 13:13 1 Z( `7 j2 `/ o5 y& E
. hello 300236
2 J! k k" R5 H& ?. dstatement out of context
$ @2 b" D4 x( M0 P4 Gr(119); 6 T( D/ Q& ]$ h7 i; w
抱歉,最近太忙了1 d3 N* h- g" q: r) ]- {. e
; l1 T7 r1 g$ s6 B/ A9 p
300236 我用下面的程序试过,没问题1 T& [5 ~; j! R6 b
Y+ E- D2 M" @$ o
你把 D:\stock\test\source 改成你导出的数据存放的目录,再试一试- p8 P' j' [% ?# v
7 ]; F# P U6 q! J6 Jcapture program drop hello8 X; ]8 R- ^2 s& j& `0 K: [" Q7 K
! J. }' {$ Y( s4 M1 h5 [program hello
& W4 j: @, D5 w
- Z( N3 n1 A- q quietly {
! E; V8 z) R1 ?' m4 l3 f; x7 Q
/ J) f8 q) c) l+ p- }0 Wclear
1 r. x- e; l8 D! Y: L
1 s6 I3 I; ?6 }9 \+ b1 T1 Lcd D:\stock\test\source
7 Q* q7 h( m2 C/ K" L' t1 @ ~
, ]8 G2 r# {2 J0 F& ]0 \: O* R) Qinsheet using `1'.txt
8 S8 `" _; x# D& N, X7 C
q, ?1 k; m5 ^$ v8 d keep if v5>0
' ^6 F _( K2 N0 e " E6 K9 [4 }# S& @/ ~2 n d4 p
gen vt=_n1 l, N v! g+ ]5 \& L7 f$ a1 f
3 L5 ~3 a: @3 d7 t1 I
tsset vt) a0 _* h: M4 p7 J0 _& |$ c* X
9 {6 Q* l" S* t Z
gen zf=D1.v5
0 O L& R1 g) B/ k; H$ v' F& v v! c
gsort -v1/ |/ A; {4 x; N! d$ k
$ l4 S1 r) t. o gen avol=v7/v5
% r8 A1 J& ? ^, X% v0 W. C
; o5 w$ O4 @; i W keep if avol>0
6 L# u4 j3 h4 I) c9 L7 Y1 s! D 3 M0 n/ z: i v1 M
drop vt% M3 X# o; `& h. _( w( y
+ i9 l; q! c+ \ gen vt=_n
) B1 p/ o# f+ p6 @# O3 L & t* g6 q" i+ ?) _7 }9 x
tsset vt
( I h6 x; D3 s5 i* }$ F
2 O9 H9 q. M9 i$ t4 P& o% R$ M sum v5 [aw =avol]
( j4 u7 C8 F" e, ~, U( w5 a9 P* o/ p$ U" _; j% Q
gen amean=r(mean) in 1, i. F6 W" G( u" T6 b
; t* d1 u* B; g6 F- y
* 总加权平均值 amean2 j6 z0 L% }# O4 }' S7 r
* y+ L' b; d. Z/ G+ R5 g5 o
/ T. t0 h9 s" o
keep in 1/240' N p0 O, Y+ n4 g0 g4 z
" c/ D/ R* E* X' y8 T, Y
sum v5 [aw =avol]) c3 F f3 m5 ]+ U' i+ k9 @8 G# E
) x! p& S( E! d; l; u- { gen mean240=r(mean) in 1$ c2 o1 g+ T7 E3 U2 J
1 D0 K1 x1 z l# [ *240加权平均值 mean2402 f& }' B3 P" S% V% _
9 V: F6 I3 g8 D- e& I n \
set obs 500 2 ?; b. Y; _6 d) e7 L. |
9 j8 x- j. G- N* A
kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph s+ R0 R" S$ h) h
* |) _, `: \9 d. \# ~
*240 kdensity(dx240 dy240)
0 }# g9 ^2 O" B: p
5 E$ G" d7 p3 W5 N0 D* V sum dy2407 `+ P! M n- X
9 F6 C* _4 V* s" A8 R$ [1 f
gen yxis=r(max) in 1
' f, T& N% o4 p # S' R; V/ E& |" ^, E2 f8 |
gen yxis2=yxis/2
2 F8 {; J8 l- V; N9 e: l* i $ D7 k: s# r2 g m/ Q
*yxis
5 f2 o1 _$ E+ R9 ]( E" {2 ?
5 w" c M% ` | gen dy240max=r(max)
$ W0 y! [8 P: @ R
- a* R5 x6 S5 M9 j: E" z9 l9 V gen dy240minp=r(min), f3 d; J0 z; P- n% |: L
6 D- n* J( @6 ]- r( E6 h+ n7 l gen vtt=_n
_$ C: W) H. S" g1 i$ w2 q% `$ `* T! g2 n2 B, w
tsset vtt
/ o: \2 S& q( \- ~7 }! w( K$ Z3 ^3 J& R1 L# q
gen ddy240=D1.dy240/D1.dx240
, E$ E3 l( p: G" g0 c! e ) h( D: T/ W6 f
sum ddy240
* X0 S! { K2 v9 k E: x7 Z7 i
* k1 T( U" a) U5 Q; `- T- p gen ddy240max=r(max)5 W$ D9 n7 r8 U8 r' P" p8 r0 g
$ w. ~: q6 S5 F- W4 {9 d0 Z5 f2 V, D gen ddy240min=r(min)0 J4 u$ Y2 u, M1 ]% L0 j
$ h$ S6 \; j. A# e& v! c. Z
gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)
- {! K2 }% q* V9 {6 l0 I
; |, ~( ]9 ?- x( U% y0 } sum ddy240g
4 X+ Z. M+ K+ m& W! i. a4 u 6 m; r7 [8 x8 D( v0 O; m% h
gen yxis3=r(min) in 1+ S' e6 @& N3 D1 Z7 u- w+ L1 @2 O
, h9 _" w* x& M3 q% s9 G gen yxis4=0 in 1, v ^ R+ A7 Q! e, ?: @2 H
2 Z) ~9 _1 ?: i3 s *ddy240g
& u0 \/ P3 A& n7 |* p0 Q v ) V! S7 @) L% y! E9 x4 j
6 y! n6 O; i+ v7 ?. T9 k$ k u6 q preserve
, U/ n [# y; y! O" o0 c. n) @
" J9 {) E( b/ J; A4 M sum v5 [aw =avol]% V' @0 }% x; j" {/ I# I
7 h0 l) ?, }, E keep if dx240<r(mean)9 m, S* `& C9 v1 ^ e
* J/ P7 S& ^1 H: g sum ddy240
3 C/ @9 _8 a) {0 a
& c- o7 B& G1 ]) G8 Z if r(min)<0 {
. {& i. J/ |. {" }. @, E& [
! ?. t) z: G' y% Y8 W keep if ddy240<=0
/ B) Z& S c4 R1 j' t
+ [: n/ D# t& D( o4 [5 x& d6 r9 T* ] count
4 e. g8 P, N, M9 V3 Y' u
X' y2 Y+ R9 D6 c4 e if r(N)>2 {
. C5 m; h7 b* m: {- O4 Z
4 `3 f; O: ]+ L pkexamine dx240 dy240
. O3 J; [7 w5 T. V8 b7 E
* s8 t* y: C! Q0 m local tempminp=r(tomc)
! b. |1 p) n, e4 v' O restore 5 F% c( l8 `; }6 L0 n1 h2 f" w: g
}
" K- q7 D: C5 W2 u; U9 m ; W3 @' o b7 B4 A
else {
/ K& R, B: v) T e
% I3 z. c! p# R5 V! e( k2 s di "cannot find minp"
( j! t$ @" N6 ?. a
3 z1 x/ w: n, u: C( Y0 ^6 @( M5 T& d" V restore # T% D1 T" K! k5 j$ ]
sum dx240) y% i5 C- k5 C f* y8 \
local tempminp=r(mean)
0 C) Y& J+ b7 l 0 }+ c6 L5 S0 |, a% ?7 u
}) W7 V0 \+ w0 V
}; E' z2 a$ G% s$ |* K1 ]* \8 m
else {# V( `+ o+ r% M: v) o
/ D4 D& ~% Y+ \ keep if ddy240<=r(min)
1 o! L7 D, p4 k 3 C* E. m- x+ ]
sum dx240& D1 [' X1 Y$ Q# T
' _9 v* g3 z, u6 W+ U: s& d. Z local tempminp=r(min)
( x0 j* X+ m& z$ S0 M restore
; u& o M/ V( u, ] }: M+ B. A" q/ V9 w/ ]
1 J: u- J) J5 Q6 V1 d( ]5 T" H
9 P0 E6 w- ] |* ?& e
?* j- E4 w9 e' j( [, }( ^
gen minp=`tempminp' in 1 [% O* ~- |: V- z- k0 y
*240 minp
" I! G) u0 Q6 c8 C6 X6 u: \( y9 `3 A \' }) ?; ^
( C) o, ~- O$ P+ s
, N3 J, a( { V) @& R! J
preserve
' l2 }2 n2 E# v# q
! q! {# j9 X( C+ v9 s E& k* C+ t sum v5 [aw =avol]( h ]+ o; d) `# @8 r% r+ O2 ?9 ~
4 F+ I/ o2 @! ]' B: Y. ^9 P keep if dx240>r(mean)& r$ J2 K8 N1 D3 s5 c4 l
5 |+ w9 Z& B7 j$ O, c& H sum ddy2405 u8 X: S7 Z* a$ Z
& l& y1 n4 _- l8 P9 M4 M) T
if r(max)>0 {
. |! Q2 N( q/ V. K
& Q& d2 w( }/ V keep if ddy240>=0
$ f3 a* o. a' D" ? / R6 E2 E2 {) \
count! J2 y2 S" R9 E1 K, l
6 I+ \3 f+ I7 e. h* Y6 P9 d0 N( C
if r(N)>2 { w" k3 M" Z4 h! g8 d7 _4 z% S+ m5 B
# D! m7 s' ~8 C1 O7 d1 y( b pkexamine dx240 dy2400 v! [- x8 X) @) [/ b0 w1 v' [) ]) T
5 \; v( z; \6 @, K' O
local tempmaxp=r(tomc)
1 f/ ~, y8 w- A& D! r1 _" R; { restore
) U3 S- @" j" ?, f! g3 d }( j8 E2 \( w! m3 |) K4 {6 R/ N
5 P: U5 \2 d# O8 P
( q7 A, }1 N7 d; E! d8 {9 ? else {
+ D# n& \. l0 v% ]: J# P9 j restore
# I. m5 ~' }" ~, {2 h7 |# F di "cannot find maxp"4 C, `) [& Y+ w Z5 h; ]
7 R Y$ T |! b$ ~! ~
# o) e" N0 B/ N& w" {# x3 w sum dx240
) N9 K4 }1 d+ ?! A+ u local tempmaxp=r(mean)
' H0 x k$ W5 J) j& e5 _( \$ b! S 0 L w t+ O' [) T% ]4 s, B
}
- {1 ]: g+ `% P1 Y9 k* H
6 k' G5 g& I `2 ~ }
% H6 W+ U4 C' o& N( C* f
0 E' v8 [4 c( Q: Y# B5 u. a else {% K# c2 e0 R; l+ N* n1 X- m2 r$ h
& `8 H" P3 L0 F. a4 M; y$ @# ] keep if ddy240>=r(max)/ A6 x( K: k9 e7 e- K; F
; p, b% D) b% G9 x w( A* W3 U sum dx240
& t; O6 w% O/ n; ]- h0 v; D
W, V/ l1 d/ V5 w' y local tempmaxp=r(max) 5 n* X" a, x/ t/ R$ b! B5 a% @
restore , |5 t/ a7 L% u
}7 F& H3 i/ T4 ~$ ~" [ c$ w0 x D
) S2 I4 o# D: c/ p" Q, v0 Y
- V7 w' ~7 f2 d2 b) t ! g, {: p8 I! W- _0 d
8 ~, j P* v4 j3 c/ q* r gen maxp=`tempmaxp' in 1
1 N. J- _- o. u$ g' Y1 f S7 z0 s* a4 n2 k7 [/ l
*240maxp
5 Z# Z# N: z& Q# n+ e3 D 1 T* ?- S/ n1 O: w. A
! n# _9 k" d1 V0 w
*-------------ddy240pminp左侧高峰值-----
! j/ b7 B7 s( t) m2 K 9 `2 p5 r; d& J4 ?; O& v/ ?
preserve 3 @: w* G( ~* W7 B/ _9 v
" c( Y3 x+ U5 A$ i2 M8 x& B
keep if dx240<`tempminp'
" M2 O% n [! |" b+ z2 X ; _* j" \) ]; C" W7 k
keep if ddy240>0
+ o' {4 `, G" G
* r* r7 x( v. _ Q. O: }1 y count& _$ ^" [8 q" J" D7 f) F$ U7 Q" u3 N
- n y f! h+ T
if r(N)>2 {/ c! d* Y) I9 {1 ]/ k W4 b+ C
# R; S7 b9 c2 \" K4 C6 }: M
pkexamine dx240 ddy240$ t7 h4 W- H, Z0 u1 H L7 I% p8 q
2 ?" f8 x$ B0 O1 r7 i5 S5 e, u local tempminphddy240=r(tomc)
M' x1 W+ {" m& x restore' E3 y& V) \9 T0 }* y
}0 J* C$ N! \; ^8 d; ^' Z
, ?, k% M" @( }3 n( G; y% C
else {- R) }& b: `% f$ d2 ~% P V, N6 l
restore
6 d8 L0 A2 X- ^1 w; v1 J6 w% G di "cannot find pminphddy240"
' @% N9 c' ^+ N9 c( K5 ]
; j) ]7 K. H2 i! I0 |" I
# i, a. S$ Y4 i6 z: t sum dx240
: m. W9 e8 p1 c8 ^ local tempminphddy240=r(mean)
4 P/ R! y2 n4 g0 l7 P ) `% ~/ ?$ ?4 x2 ]2 i, n* U
, h) ]0 F9 D- o0 K" l5 |1 i }
5 }% @' I P- C& [ & ^ P8 {$ a& Z1 v4 o8 S
& Y3 R9 Q+ X1 U% D$ B* u$ p B" U- g
, G) x( S M8 a; q
4 x) d8 B/ q7 K3 S) u1 P( e/ }
6 x3 ^$ U* w. B ^# F) F . Z' N% G7 a. H" N+ U" T4 i
gen pminphddy240=`tempminphddy240' in 1
, E4 f7 d# @. a5 X6 x \) S# o3 r4 |2 W/ i& X' M6 f
; o# X2 `" J" h# z, H
*-------------ddy240pminp右侧低峰值 -----------------# e4 P E" W/ h& C& l
preserve
$ J) H7 }% ? q, ~6 n: [* U- K1 @
) P' h3 D3 B% W. R keep if dx240>`tempminp'
) p g* P5 S2 n* u: d 7 f- S: k& f* _' X, p7 s
keep if dx240<`tempmaxp'' b+ Y$ c0 T! H% [
6 n; {$ u9 U; H- L; d
keep if ddy240<0: ?- v2 X$ i* Q9 M6 {5 L
* c+ i" a3 Q4 n; D$ |. ^ gen temddy240=-ddy240
( Z+ C) o+ X+ T& J E" G- Z& Y; }( d' q; Q 2 i) N: N4 u. b3 f2 P2 g9 O1 H8 T
count
' `; E# ]4 c4 N3 t
( b2 H3 s9 c( w/ m0 r if r(N)>2 {1 I* s3 ]8 Z: j, S
1 _& K- B! y/ ?5 w" o pkexamine dx240 temddy240
( g% R7 a! o8 W3 x; p! b! G2 c
0 m- j7 F- q; R3 w local tempminplddy240=r(tomc)) Q" ~; y! U; a
restore
0 w! r4 E# e6 x% l1 I }8 |* r5 t3 R/ Z8 O1 t* C5 m/ y
4 o- T. ]- U* v: z# [ f# Y; j2 w$ f5 k
else {
; c7 ~ c; ^5 J- [) O6 f8 U
0 I% A* C( \# K7 b- H, m! [$ ?+ ] di "cannot find pminplddy240"
, _. {- G) u+ a5 X t# V- t9 Y restore
! I/ K; k2 `3 N0 k3 e# o9 ]
1 o% C, S/ Y8 J sum dx240. Q) b4 i2 N# Q, f6 p7 ?
local tempminplddy240=r(mean)% X% R" R- t- W
B) }* Z( b' J, I5 q : F3 k( N; E" w
}
6 G' ?+ A$ p+ x & ^' [# M" m3 Q5 \
0 D2 m3 X, F( T5 u
; p7 ~* {! g x5 o" t0 j 0 G7 B- V! X; S5 H! r- M) u
9 n+ L* Q- v, I9 T- G1 C6 b gen pminplddy240=`tempminplddy240' in 1
( T) h% W, d% F- ?
- Z: e t* v# \: C9 R+ O *-------------ddy240pmaxp左侧高峰值 -------------------! `' C+ d' t9 f
" }- N4 p' z6 l+ V5 }3 L preserve
5 ]: p6 s d; l9 O
, f, x7 A0 y. e8 ~0 J keep if dx240>`tempminp'2 D# U; ~# v$ ~ P
3 B1 Y& n5 V* X) c- E/ @9 z keep if dx240<`tempmaxp'- B0 ~0 o1 ~2 {) P& B
$ y, N" v( z, P) n& ~$ c5 P keep if ddy240>0/ t( X) Q2 p4 a
count3 n- @ N# _- |0 Y% D6 k# M
+ @7 M3 ~2 ]4 o8 ], A/ z if r(N)>2 {5 H- |: S0 @. v
( p4 {4 @, l& ?, L pkexamine dx240 ddy240
* {5 {' u8 {( P( s
7 {" E: \8 W$ W6 S5 [ local tempmaxphddy240=r(tomc)
# z$ B3 w9 ]$ ^9 M ?6 ^
- X5 Y5 A8 R$ N: z restore+ z* M) Y5 z" H7 ]/ U# q
}
2 @, S. x+ A% [4 d5 u
6 @: K2 B+ e+ E9 c else {
0 L1 ~$ q3 Y( d, v9 G; {
8 a/ Y4 |2 P$ P9 W1 a! s9 d! h di "cannot find pmaxphddy240"
9 m- X9 Y# B% e- S# H# p restore
7 g' K% T; c8 j' F: l( G
, g& J* M% A" Z0 J/ f/ A. l0 \ sum dx240, G4 H( R Z4 E: U" F! Y! S8 }
local tempmaxphddy240=r(mean) ( u" i [( e9 G) I
! {0 p7 E! r& _1 |. ^7 C
+ I& s H4 s1 [$ w: ?: W9 W" C }( E/ u( f: l$ j& \: P2 H! H2 {
$ h+ N, y2 ]& u z# W
. q: k4 G* S; a- P# k2 K0 ^* Q1 z% b 6 Q, W) J; E' ^ C# z/ ]1 b
9 R+ {4 ~8 b' z; k
* I8 X! B6 A, q% F8 ?1 f2 X / F6 O0 s; e2 s- ~* G$ N
gen pmaxphddy240=`tempmaxphddy240' in 1
2 _& ~' h3 _' k& }/ k C, F, ^
# \1 t: X$ @2 X( X2 y9 r6 x0 B- s
8 d. m: Z% j) D *-------------ddy240pmaxp右侧低峰值 -------------------6 w0 g+ F& I& Q' l
3 \ B6 Q8 A5 q' F! B2 S1 C preserve ( c: z: L, o# m0 F1 [0 b6 d' {
$ C& P) V: u: \( p: i0 d
keep if dx240>`tempmaxp'( y, f/ p1 q# [! z
2 M' i5 G* U# x+ X4 i# w3 e5 x' V gen temddy240=-ddy240* f5 a; K# Z9 Y
& I7 }" }9 n. v; |' Q0 c3 W4 K! ?; V
keep if temddy240>0
! ~' Z b7 r1 @: T2 p z , R- g. o8 [$ g- W5 ~& R
count
" ^+ c3 ^7 C' u9 W0 s0 I
! C# t# b) `. @4 U( n if r(N)>2 {$ P# W5 }5 \9 h. g: T- x
# M# w) i7 B J
pkexamine dx240 temddy240) W4 L$ V3 g [* d; B
* J1 |$ _3 O0 l9 H/ u7 _ local tempmaxplddy240=r(tomc)
/ I, M: e, }% l5 S% s( Q( M restore
; w' |0 y0 p" H }
2 Q$ c) `( t( P8 e5 V# A + n% P4 @; B9 M+ g
else {
# g+ K9 b8 z, e$ U& }1 R/ K; @$ |1 _ restore
( ]5 E1 ^8 F6 C' f- H; g di "cannot find pmaxlhddy240"4 e4 r$ |9 _9 V7 T& Z( k3 ?
' R+ G4 ]4 A# g5 r$ ~- j+ ^: N & H% o6 V! Q, n$ L" W& ?# C" _4 v
sum dx240
: X# O% c! Z# w7 h local tempmaxplddy240=r(mean) in 16 G0 `! x! _, Z1 X
& A# J, K3 u3 Y: d u* |3 R ' {8 p/ z# {" Y M
}( V6 i1 F4 E B9 {. h Z
4 `) H# `1 k9 A" v5 F' M; v( M
6 ]# A% b) R. | H# C/ }# P
& Q/ y: w+ N8 a, F. y
/ {6 O% N+ q# V' ` 4 h1 d" @3 }! D% Q( H
7 \* c$ E: i; ^+ q) c+ {& D gen pmaxplddy240=`tempmaxphddy240' in 1+ l/ F4 y* g3 m, {/ p- U
' e' y4 x7 g& X0 t$ f9 G: f8 f *-------------------------------------* ]) O/ `) o) S8 s
+ x9 ^! o `5 i& x8 r
gen price5d=v5 in 1/20( B& \8 B% p; y5 l7 r' H5 u5 O
9 }# N T9 H3 y, K; `8 w) D4 X gen price5yy=_n in 1/205 J4 e, a4 M. |$ U! i& C
% Y' ]; W' J. x1 p8 q" Y k gen price5y=price5yy*(dy240max-dy240min)/20
$ A- K7 M6 G9 p% e( D5 N$ j
' l2 C# z. C0 L *price5y &price5d
9 Q0 r% w- }/ p6 n2 {8 H / e- d" M8 c7 K2 @- t( F+ L
gen priceny=price5y in 1
, X% S: d N3 ]! m
: @3 k( k* I! @: y2 x, N gen pricen=v5 in 1# S6 i0 D, `1 l; U4 l
" a N. f7 V3 u+ g3 w; ~! S 3 b$ n; [" g5 d0 y
*priceny &pricen, A9 M- G- t" c% X$ j( M1 N+ o3 E
) K1 c$ `3 I @9 ^# S
A7 U( S- L5 x# n x- Q" a
*-------------------------graph------------------
. I2 \& U4 Z. n/ P, B& g' v " x& A( C- r) l* m( j
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)
/ w3 M6 _; q2 @3 q0 Z- w' |- V# H3 B+ X+ a' T6 m I
* ---------可选项目----------------------: G+ u/ a7 {0 I7 g+ z3 K) y7 n
*(spike yxis amean,lc(blue))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean))
8 Z, S, G* \( Y5 @1 b}
! J. p" ? X' @" q1 b$ r/ ?end
& g* r0 q9 K# B: a% G& J+ b |
|