|
|
maodeng 发表于 2013-1-28 13:13 . {2 V6 x6 N0 l2 `' h! c
. hello 300236
6 e' N9 {! Q M' P8 ?9 Hstatement out of context
6 B* r2 k8 `! U8 qr(119);
( y* H/ r$ c' u; V8 j抱歉,最近太忙了
) h$ o2 F% R) |; Q
/ \& S9 O7 j$ x9 j8 Y( W300236 我用下面的程序试过,没问题. k% Q/ E' u) J3 {# k/ l/ f' w
8 b* C+ w# P& Z, `( G你把 D:\stock\test\source 改成你导出的数据存放的目录,再试一试
& A Y; X/ O, n( ~9 a8 U& a$ Z8 a6 w8 o& @0 N% x s! J
capture program drop hello+ _- J& |. M4 w8 C
1 Y5 u6 C* d8 }. Wprogram hello1 M& ~2 s4 m# |# x( `0 Z' }0 C }
) F _! ~" f; b8 r$ s& A' t$ I2 ~ quietly {4 {" [' f& y3 c6 |
5 ~7 Q, T n# t; z b
clear5 V5 |/ u5 O3 n) `# |- y
5 V* e1 p$ x8 p
cd D:\stock\test\source
0 J. z% c. A" m9 S7 @
: O9 z* L& h7 ?insheet using `1'.txt
- {0 I5 D/ w) y$ F3 J
3 k0 b( y8 L# k& I keep if v5>0
0 n$ _% v6 q1 N8 c ! B6 l, x2 ~: p; @
gen vt=_n+ w# a3 [3 E0 k
; D: H& K$ b" P$ d, H: H1 G5 J
tsset vt5 ~* a, J3 ~2 D' x9 _
) R1 n$ y2 b1 s
gen zf=D1.v5
0 K0 s& n' ]2 P9 X) z% _ j" s3 ]/ [5 l+ T% P: r6 _& @8 N
gsort -v1
; A. \/ ^+ J. A9 x1 o1 t# [( {; l: s. z+ P) O
gen avol=v7/v5$ O' l3 v" b- @ G, [% f
$ D* q r* r" D3 G7 k7 i
keep if avol>02 }% S6 Q6 L* u4 q0 y$ M. t
, [ e) o9 g' ?
drop vt
6 [" Z9 u, l4 d5 r5 o3 \! r4 L # t+ _0 O4 n w$ g
gen vt=_n
f* B1 ~: L' ~5 I7 u1 |. s) X ! t) a5 N- F2 O6 Y
tsset vt* ^" e2 ^8 ^, B# T& x+ ~( a/ Z' B! c$ b
) A: a' k6 G. l y3 d* N
sum v5 [aw =avol]
: l& s5 r6 x1 `* X, P2 t
+ o7 w( {* O" y( O gen amean=r(mean) in 1
$ o& a* Q z5 Q, T g, o; u6 e
& j: }$ n, l4 F% f9 V * 总加权平均值 amean3 [. ?7 j7 R6 Z0 T; i6 j
8 {9 Z+ G: k) a+ v* q1 `) W
/ q) c9 D- |/ n- v }+ f keep in 1/2407 k( A% F+ o/ H
8 s9 g! ?: E& E" h7 T i
sum v5 [aw =avol]0 d; Q( C# b/ g5 d$ [" M- k$ b7 p7 M
: r( `: W& n; M0 [ a P$ \ gen mean240=r(mean) in 1
( r/ y3 [+ K+ k5 R1 \6 Q/ ~5 {$ D9 q ' x+ I; h! e& {, z6 P2 I
*240加权平均值 mean240
/ h7 U+ ?8 q- W" ^0 q/ ]
% q% o. Y {$ X- X set obs 500
3 P3 I" {$ h+ i& B- a7 S & ^4 A L/ v$ E) g1 G
kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph
/ ^2 S, [) v, U: E# i; r ' w* t0 ~/ x, t% `4 K$ [% h
*240 kdensity(dx240 dy240)+ {; a. Y1 {( g- Y, y
; t( k% H8 h) W) t
sum dy240
. D# {5 F' X- k0 b# r8 R % t" T# Q( S! i3 \
gen yxis=r(max) in 1! E* c/ q5 Y; y: |# L
0 r+ B" y# X% x& B4 u# N. N" G
gen yxis2=yxis/20 P# e6 o- G5 |5 V/ G1 E
' P X4 t$ v! [! h/ x *yxis
# B3 R- Z. p0 h( ]$ P' o+ f: @ 0 }$ j# H+ U" M, h8 F b
gen dy240max=r(max)2 o- L* W( v0 r: O4 b) N+ ]
" @( M: G, T; x( I5 \1 ?' D" `% Q
gen dy240minp=r(min)
! w7 b, N8 ~7 M/ S3 U3 D6 A % c! j* @& t4 E+ Z
gen vtt=_n! U2 N! R$ h I6 V
6 ^- K3 t" v! `: {& n& K+ j tsset vtt2 h7 Q p9 g. e
$ a& T( e) S3 V( P/ K2 t/ K- J gen ddy240=D1.dy240/D1.dx240
0 P7 s+ K5 K; p# C7 J' | ) a# [- H; R) ?! ^: `4 b
sum ddy240
/ ^4 ]; W& d1 p0 P* D( m$ r
- I. t* t& e( R5 t( l$ @" z gen ddy240max=r(max)
, E* d0 `7 r0 V- m7 j
) b0 z, @' s8 ~ k- _6 C* r+ o( Q" X gen ddy240min=r(min)
- ]; z; s& \5 T4 s0 z+ O) O
3 n" W% m5 r- ~% W8 ?" C gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)' \$ S' l( x5 z
0 K; D0 @' U ~; \4 O1 ?4 Y sum ddy240g1 ~, b0 P- X% C, \- a$ N' b
+ m. j2 Q: ~5 S5 x& w3 ]8 P gen yxis3=r(min) in 1
* F' G; r. f H% O. B ( _; l( Q7 n" z) P
gen yxis4=0 in 1
0 c8 J8 ~, E( B- G ^ 1 V% ~# I4 X6 q$ k" |6 p `
*ddy240g " j: j# `* M1 _6 _
) x3 \+ o; h% T- [& K
+ p6 C5 I7 I. A# h' V preserve 5 M* z! i: _7 `2 P
+ Y" Q# r, ~: r! ^, D% ~# O( B1 ~$ O
sum v5 [aw =avol]* g; E7 Y* Y( A! p4 ~0 e7 M7 @
2 w) j2 K3 o5 L& V& ^! h; k
keep if dx240<r(mean)
) l0 ]1 G2 w9 ^0 N6 k
5 C# T# X* K1 w6 ~ sum ddy240
5 h2 k* c6 B1 }! @" L + p; n" V9 p4 r& x
if r(min)<0 {& _+ ]6 Q5 X4 `$ v7 w# y7 Z
) z# J o$ M7 F% U% Z keep if ddy240<=0) h0 S5 n- m8 A1 g
7 E1 j% T4 V1 ^( y9 r9 u1 | count
& L2 h" L. G2 c; V2 R
6 V) }$ p/ @+ T if r(N)>2 {8 R# K' ]2 c& Q/ O9 ~+ _
2 A: J2 n0 m! S3 f: V6 i: D pkexamine dx240 dy240, j2 j0 l: V' Q* U6 ]
( B- q3 v- s6 M# _( v9 b local tempminp=r(tomc)
: r8 U7 N: I; F/ x/ { restore ! P# R- o$ H; ^ O& t
}/ ?$ V! u5 ^! A9 F2 L4 I
, i% S! u3 r) j8 I& I4 b
else {
: a. \" u/ o% H* ]6 W. C6 B
9 E( K @- B' T' z di "cannot find minp"
) F7 V5 R) @4 t: \6 O : p, W# I: j1 p6 E" U
restore ' `* |7 d. Q9 N+ H) `
sum dx240
" E* Q5 g# l6 ~3 [ local tempminp=r(mean); b$ M2 ~5 k( W
2 G8 r3 x# I' I* r: V
}" d6 d/ C% f3 O y3 s
}. _8 E3 W$ Q7 H5 X) N
else {& x$ P, X2 l( P9 j
: [1 a* I( ]+ n8 Z
keep if ddy240<=r(min)
2 ^/ }/ @3 J$ ^ * _4 S" g- P* m* c
sum dx240& ?5 l) G3 [9 \
* E' g6 W0 |7 d) v local tempminp=r(min)
* P3 _, ~ d" P restore
" l4 M; X1 x+ T( E }# |0 h. q& x3 ]# Z& D
0 p/ N" [4 S+ |4 Q# G9 B1 P6 E- {
2 N% `9 {' H: j: } c
gen minp=`tempminp' in 1 _' @- W! Y. t( O, N! L: e
*240 minp
/ F# d. i5 W3 Y. O; r. Q8 u# ^: v" @
! [% P- n3 y9 r* o) T8 T6 K: R( G
" k9 z- X2 J. W' r5 ^* Y preserve
; c% C6 {& G) \% P # |3 L: c0 G2 ~; I9 c0 A# p7 n) R4 g
sum v5 [aw =avol]
; U" b8 e( R7 B' H) V p( ]- q3 o 3 T/ g/ W- g, j) O h# W+ `1 E, a
keep if dx240>r(mean)
6 r$ i6 u) M& u4 {1 D A4 F$ ~2 U4 s 4 E4 @( @6 @% X6 V8 @
sum ddy240+ f: V9 H/ ~ I8 y0 s7 z. P+ F
% u4 ^4 Q; {) W5 Y. v if r(max)>0 {
( I3 a" \" a. { $ |+ S; k) t2 ?6 s
keep if ddy240>=0
2 d8 W5 c1 V: G3 C1 g
8 ^' K) ~) G; U# t( C* K count
, i2 f' c7 H& ^: M
( P" b* x6 x1 K- e! f+ \ if r(N)>2 {
& r$ A, s9 ?' C2 {: m4 @! Q + G% ^' K' ^3 ?9 M* R1 ^% ?
pkexamine dx240 dy240
+ n6 f9 n _4 X* [ 0 Y+ i. \7 Z6 ~; j
local tempmaxp=r(tomc) " t! A6 v* |, H/ f# e$ J
restore " l: W) s* O; H1 k
}6 _6 m0 a3 s7 R3 Q9 D: w$ l% ` Q
" z+ d- s3 S, m! Z! z, A _
6 v9 m; x1 E, M. O1 @" f' N* Y& B7 @2 R else {
- L v3 G* y* ^ restore
$ D7 p3 l2 E3 G di "cannot find maxp"$ M1 |7 |+ j& e! {8 Z$ s2 Z6 U
+ b! A6 W+ i s+ m/ U% B0 C ?8 k. o $ ^7 ?* |* A# }) D Q
sum dx240
, A/ S, p& z* }% g9 T) ]6 j local tempmaxp=r(mean)" c- }( W! P3 ~3 ? Q. ?, M
3 ^1 s" F7 |9 f- C. |
}3 Y7 w0 L4 N% a. p2 h! M
! ]( I7 V B9 q0 c }+ m: d6 C: E% l4 b& R/ B
/ G x- L; G3 b: ?" `% a else { S3 g1 T! d0 X& u3 S
5 m' J, k9 b# M keep if ddy240>=r(max)
, {) B+ i1 Q% F& P , C" g2 l4 c8 c7 B9 T- P3 P( [$ N
sum dx240
. R( s1 W8 m) { m: C& b% E4 N
! @6 M6 ]8 ]- R5 Q8 c local tempmaxp=r(max)
% r9 P1 Q: v6 q7 o" P5 F restore
! K8 _4 r, x/ U }
6 J4 }5 B w9 l7 t! { 4 E2 c$ O: {; S
* K3 o2 u* S& e! E7 v4 ] G5 ^( V
; \. W* e8 A. b/ W0 E7 c2 g* q
) H1 X" e( O- r7 L& _" ?
gen maxp=`tempmaxp' in 1( n' O, {( o# P) r0 @
* _2 m" A; }5 q+ ? *240maxp) S% L8 K3 i& d* Q9 B
% l/ u, \/ p0 i9 h
( r% l0 A2 o1 T. s d *-------------ddy240pminp左侧高峰值-----% u9 ?9 S6 ~+ K7 K* n6 z
3 Q' u8 M: x+ a9 ~9 o& J
preserve m' b0 m' ~( ]
, S) y& n* f$ ]3 u5 e M keep if dx240<`tempminp'. x* Q6 z. d6 o6 l7 L* }
6 j- J6 @5 _# }8 C3 ^/ H
keep if ddy240>0
( M( e8 j* x7 C! y$ o+ D3 f
1 G+ h; B) i& X) n count3 {: j) u- b% `. {! M' p
8 [% u) z+ p$ d5 Y if r(N)>2 {9 ?& u4 d6 |- c& b5 g9 b
7 P0 q1 F+ m/ Q. R
pkexamine dx240 ddy240
( |$ r& r" \. }5 k2 w' ]4 v/ X* V & [; F- V& H# T
local tempminphddy240=r(tomc) 1 \8 e9 G/ z- A. B
restore
( W+ t$ J9 b3 d! z! ? }
! c+ J6 s! n5 j/ ~$ u4 @! s* U. Y
`3 L, ]6 v9 r7 d1 ~9 J9 o' J O else {) b0 G& l2 ]! W# i
restore - J) N! H4 k9 r0 r, F
di "cannot find pminphddy240"
& Y/ d1 {, ]0 j0 T * p) J7 t( j) l5 s4 |
/ B. }; M! n9 k$ F; ]
sum dx240
( g. C* A& w! d2 I8 Y n- _ local tempminphddy240=r(mean) ) L# C3 ^1 d2 }6 H% D! Q
0 @$ D* _9 J8 g7 U/ N6 }
+ O" _& S7 S5 m* R* A5 T. X }
3 V4 j& @8 G* | Q! s" T3 r) q3 N
" X0 @& k8 p6 G8 Z' X/ n. i
. P9 H+ l5 h* _5 S# w0 R
! r4 s( k6 Q( D+ t6 g/ E 3 E! i$ G3 q7 \' _% U& m
1 @% k; B/ v: ?& \6 e
* H/ f; j4 k# l+ L gen pminphddy240=`tempminphddy240' in 1
/ b, k: O; d5 `" {
7 Q4 y2 O) z. g* N( \; C( B& N 5 S3 S: k$ i6 A% r
*-------------ddy240pminp右侧低峰值 -----------------
6 U8 I# ~2 t5 o. y- K1 W preserve
; p) s3 V: M9 \8 l 7 v, A7 A* w# G6 a
keep if dx240>`tempminp': n- a6 K$ i0 H, n5 X
) D+ ^5 j' E' ~9 ?+ R
keep if dx240<`tempmaxp'
) j* c' p7 q1 m3 n4 G( \% `! Z) N
$ f+ ^( |- L/ T+ L keep if ddy240<0( i$ r1 j8 w3 A/ y1 o% v2 B
, t6 W1 ~* @) U% O
gen temddy240=-ddy240$ a1 u. V3 {! T/ x6 `0 ?$ i! m
) d% ]+ }: E$ k# K- o
count
! l Y u( W; P! \" b% x1 P, X
+ q* F, X, S$ [4 C5 Y% p" Y) g9 p if r(N)>2 {
2 c0 s7 m% G+ i" L$ Z- B 9 C2 V/ V0 ]% O! [% _# l/ J/ _
pkexamine dx240 temddy240
; ^& x% {- Q; M5 y- S
' h# i8 r# R+ [3 w local tempminplddy240=r(tomc)6 x _1 p" w2 P' Y- V3 K0 r1 R5 a
restore: c+ P& B% C5 w+ L2 q5 C5 L
}
- s: z, {- s! H3 z+ U# K: s
6 A! H1 @( u/ P I7 H4 A else {( m& k; _/ G. j+ P Q
5 ?; O& Z( |- C4 r6 ~. ^ di "cannot find pminplddy240"' L/ C0 e: t, K- K& O
restore
. `, Z! w4 r. A
& J- V6 ~9 B; }1 \; q7 q sum dx240
: k/ J2 C: _+ M3 Z J' w/ E local tempminplddy240=r(mean)6 n4 B2 n4 K* F0 j1 f; N3 l
) T7 c z, ]4 ]4 H
+ a, u; O: S L }
* Q$ e9 ^- r# o. }6 W/ e" _' M 1 o/ n' Y2 i: z" k. i! t: ?2 w
$ w: k4 a* d7 F* }- L
, j Q+ [# g6 v5 `, x& v" _# b
$ z7 Y2 Q: g2 X! k% p " j" o& h( w" \8 g& {" w8 S; `; C
gen pminplddy240=`tempminplddy240' in 11 G9 N" V9 i1 B' N, m7 u9 r- p2 s* R
) l2 {9 T( w0 a' v0 T/ j
*-------------ddy240pmaxp左侧高峰值 -------------------
# ^% j( m6 n1 g0 W& K* V
8 }: a4 Y, I9 e* x preserve
" q, t5 ^1 w( A" f; ~2 m2 r: Z & n) D. X2 _( Y3 B E: i F% D
keep if dx240>`tempminp'
( S- H/ v8 k( a6 U0 z
/ J: e+ M/ y8 D. u! D. ~! `. E keep if dx240<`tempmaxp'
) z9 H# W. K7 i5 i6 Y 7 B( C9 l# O8 R- G E8 X1 Q
keep if ddy240>0
! |" B* [$ u `" r/ F& [ count/ U2 q4 R3 a D! r
/ N" c( a( A+ D5 N if r(N)>2 {
! J8 P6 {% y) `; _% `# P1 k " J8 h3 A0 t/ f# @: [: r! K$ t B
pkexamine dx240 ddy2403 I, X, w+ y% u1 Z9 K [* z# |
/ z* i, \ k6 i local tempmaxphddy240=r(tomc) " C, o" T! U8 _
% U7 s) e2 r" B. h$ g
restore
. z) E- {" ~& d. t4 p8 y }
' P& Z: [( g' l" Q d, X0 e % L, x* y6 N# [) Q' @5 X7 [ H/ Y
else {
% ?! \8 j2 o% h6 x" _; j
1 ~. F) {9 j2 G. t' b* i di "cannot find pmaxphddy240"' R& a4 [; N, {4 \! Y
restore, K2 J9 a: M l m) Y2 S2 z
( B& _& y. i; A' _' G6 X sum dx2405 q' o" Q6 v; r) C- }9 [
local tempmaxphddy240=r(mean) : D$ D- |) o% W3 g
( ]- Q9 ~8 W! @7 ^0 \/ V( M . {3 \; A: ]% Q
}
+ v( N. ?9 g6 D0 w- Q , O8 I) n# b1 N7 h3 |. F
- a. p3 u6 t# S# Z: g5 I
1 ?! ?9 N# D, c
1 g c. o a7 m+ y0 O ) s' Z# _& N! T& v1 }, J1 r
' E# P/ s3 U1 }: b% \0 A1 ? gen pmaxphddy240=`tempmaxphddy240' in 1
8 {$ w* M+ X4 i/ Y7 J
; f' i) x) ~3 b 3 V( {( s2 g+ I/ ?
*-------------ddy240pmaxp右侧低峰值 -------------------1 a. U1 d @1 L
# `7 c7 E9 j6 B$ D3 s+ w! W ]
preserve $ T" {: Z: ]/ _* l- s
7 i* _; }% p6 [8 G0 v' _& P$ a
keep if dx240>`tempmaxp'
1 G; G5 I7 n, g0 f+ G. } ' Q }5 D0 U2 J8 p1 x ^% v
gen temddy240=-ddy240$ g' Y A! q7 m" E) F, A
- y1 t+ \- E8 P: e
keep if temddy240>0
4 J* J6 i1 u& d& s4 V, ?
1 L( l2 b2 x r' a) Q% q count2 D' y* T1 Y: E* n! @9 T( g
" z' i6 L- k# j. G4 J# c I; Z+ D
if r(N)>2 {
: W8 L/ I- y" }' _( f2 e0 C : `8 ]0 _3 `6 E7 S4 {8 o1 o& m
pkexamine dx240 temddy240
/ ^8 D/ o7 s5 b5 N0 x3 F
, \4 t/ I, [! y$ n( c. S local tempmaxplddy240=r(tomc) / s0 H0 I3 s( _- S
restore
; M, e- ^' z- I }% S: C! V4 T% m: B# }: I
1 @+ m# c3 l0 I7 o) I2 I# B* Z4 h
else {
- e& R. `/ d9 J8 n7 i) T$ { restore
* f+ f. E/ c) q: v di "cannot find pmaxlhddy240"5 l# e% T+ `" @7 Y4 O m
! L& B; A& N d2 T3 N & ]9 n7 ^# y, N' F) x y
sum dx240: x( y c! O6 A7 }# ]6 ?! O' n# H
local tempmaxplddy240=r(mean) in 1* L4 v5 Q4 Q. g" v# N- q1 S
5 r! w3 w/ u- t! `6 N( }
2 f& i& q5 ~0 r- U3 y! x' n% J }2 R5 Q" I, u* n6 b9 X: ]1 Z" A
/ X- ]# C& y+ `
* @" L3 M0 a! P" U8 d: g
5 Y- _3 }4 a6 H" J 9 r$ c" w- U" J( {6 ?5 j
, R$ e% Z- \( e N, o* U9 Y / o2 S# D+ {& U/ ?# j+ \; T
gen pmaxplddy240=`tempmaxphddy240' in 1& o. w+ e, F8 G- _
. ^( t& t" B* w1 I4 y *-------------------------------------
6 \5 o. N, }& P+ Y) s1 ] + m* `* j+ C( a8 U5 a; |
gen price5d=v5 in 1/20
8 u, M4 G4 P7 O) q6 c
+ O7 u8 v4 u( I4 ~ gen price5yy=_n in 1/20
: n6 a& ^) [* ^) | - v$ |4 F) l; i8 @5 X& `* C$ v
gen price5y=price5yy*(dy240max-dy240min)/20
& | x; y0 I3 u( @" Y
6 P* w) {1 s# @/ g8 L7 } *price5y &price5d
1 ?7 S: t8 R% T0 W5 T" _, M8 [8 [1 `! F( B
5 Z2 S0 f1 i/ R8 T8 n2 c2 ] gen priceny=price5y in 1: {7 B2 \" X, m) B
! t; R+ w: C3 K$ P
gen pricen=v5 in 1
' h1 A# {+ @2 y9 T1 R& B9 _& M# T8 X. {( \8 u4 @: ~
2 l5 ?4 T5 r9 U- Y$ x *priceny &pricen
/ P# j/ b+ b) S0 D, Z: b" h 1 W3 e& L+ a0 p& v2 y3 b
9 @$ R$ \; e' h! J. V/ ]) a *-------------------------graph------------------
7 l8 ?% b1 ?/ }" h; B
% s& L+ j+ `- I; ~6 g" \ 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)2 \' P9 e2 D, Y; g! R) j K, a
; n) F+ @) i# H: B% g+ P& y* ---------可选项目----------------------
0 r4 ~) H' a& S*(spike yxis amean,lc(blue))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean))
/ y. T, f0 Z6 z" _2 ^; y8 w/ ?}
, @1 k$ N! `& X" zend
1 S6 P+ h$ X/ O4 ~6 N |
|