|
|
maodeng 发表于 2013-1-28 13:13 5 l/ {" e; N8 b& g3 V+ {( W
. hello 300236
( y- @6 `3 p/ a8 N" j) \3 b+ Nstatement out of context
3 @2 S0 [' f% x! o* P' c* ?6 Gr(119);
9 Z m7 j$ i- L- m( Z; i抱歉,最近太忙了9 N! V$ _5 r' x7 l6 j& U
1 k2 f. G0 S! L( l. ~# J
300236 我用下面的程序试过,没问题& n- _. O- q- W; Z2 i2 Y" B/ d
& k: r5 h# L7 a, Y# n( R
你把 D:\stock\test\source 改成你导出的数据存放的目录,再试一试4 F9 \) t- o# ]" O" J! l# v
4 d" m2 k# L6 c# {$ O' j+ Q4 x
capture program drop hello: F Z. }5 `2 `0 O# F7 S( h
* M, `+ n: e9 n, c3 b% q1 Xprogram hello
& e( g1 I9 J: A: ?+ ~, {
7 ?% ]; ^% P0 } quietly {
0 h" I8 b: e; y+ y. g: R
, V2 c' p9 l4 m: Y+ y( Sclear
) E& H+ K9 l) r' k8 R* _# v: }7 F \9 @8 Q
cd D:\stock\test\source
" g; X) g0 A& A9 Y0 Q% c9 L2 n3 I8 M, w2 q) [& `) z3 G
insheet using `1'.txt
5 U" t \+ d0 [$ A8 D$ T+ I9 q! n R8 f k
keep if v5>0/ }1 }% a. c2 [' O$ z8 F
% r& p0 }3 n# R: d/ t( N! i' n
gen vt=_n! F Z: b- K( W* u6 d
6 `" O. ^8 ?8 n4 j5 S- }9 u tsset vt. x+ X+ v9 w; f. ]
& s9 }: Z) m, }1 P3 M+ ^ gen zf=D1.v5. c7 @' j, h8 q
# b, F/ q2 s9 W, Y( @+ `% e: D" T! n# ~
gsort -v1( c7 t2 x/ h, m! n( y! W
0 F4 S( i# \" O B4 G- \- b
gen avol=v7/v5
: D. r0 u2 H( R. a& a
" }/ B: R* w( P1 W keep if avol>0
7 e- ]& m* w) g1 V8 O ) a/ n4 o& f& `
drop vt
) P6 e& l- i5 b+ C) H( T : Q$ [# Y8 O6 f3 q9 V' ^' y
gen vt=_n
: G9 L% \" Y7 Z9 i$ h/ `7 o ) l4 L D D4 r/ J* [( l+ n- ~* x8 t K
tsset vt
$ O$ D% W* c8 D, c+ |. i3 L% z: A7 M " ]) v/ j8 H1 g% v" X
sum v5 [aw =avol]! ?/ Q9 |7 J5 U6 b( y' `7 |0 i1 o
8 ?8 V4 I" O& k7 g gen amean=r(mean) in 1! V7 g$ I) m* x* u1 L
( d( z, t, u1 O& C * 总加权平均值 amean; c: N9 l1 i( Q- L+ E
) p& @5 X% b8 H H" n$ H # ]0 l+ V" V6 O8 ]7 N
keep in 1/240
. W5 y" ]8 }) N% q# P6 l/ j" |* T+ A9 G& R {$ r% A
sum v5 [aw =avol]
, V) T( n( |( Z" U4 z) ]+ R! r" L8 k6 C
gen mean240=r(mean) in 11 e( x8 _- a- M2 A$ ~& H' n
) ~5 B* X( H( n, O+ \0 b
*240加权平均值 mean240
1 W; X: [& F0 N' g
5 j1 J% I; T5 F; k( o set obs 500 7 G0 J/ d2 `+ y& C) z4 c
: D; I3 D& _! q0 _/ C& i3 H
kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph; [8 k |' p" ?$ m* q k) e
/ C* `( y2 O" l7 s, I. t3 U
*240 kdensity(dx240 dy240)
/ E9 H9 J3 v! g0 }7 Q' o 2 M* T) |: |. Z2 X' Z. a6 Z$ t& l
sum dy240
B& Q% D/ x5 z
2 ~' r' `0 L: p# H" ?0 K, B0 l gen yxis=r(max) in 1# Q" f8 c7 v9 X. c4 [! o' I8 A
# ~1 v0 a/ j9 u) K; O# y: a7 X gen yxis2=yxis/24 @0 c0 N2 p8 V+ a9 ^; B. q
& ]9 }4 ?4 ]+ V. [/ {6 Q; G- R# }7 ? *yxis
! n8 @3 B& w+ O1 i# K! N
; I) X7 ^0 D o, Y* p2 D gen dy240max=r(max)4 Q. `0 d1 c9 i* f' W5 y% U3 c% E
0 m1 E3 f1 z3 J+ [, {- N: D. j3 t
gen dy240minp=r(min)7 C) R- B3 N, T9 z
3 a% [* x# C1 c7 r
gen vtt=_n, Y" l( `# u4 R# a8 X+ v
+ x, L2 u% K1 O: ^. \& w* m# B tsset vtt
2 G9 H, J7 D" j- V
. c! ?9 I+ R8 w' C% l/ {3 X gen ddy240=D1.dy240/D1.dx240$ k! {- [" w' G2 m5 c6 _
# D1 `5 }: t9 ?3 H s
sum ddy2407 H1 O; z) U# R: t% W/ N
) U7 F& \. I# Y9 C
gen ddy240max=r(max)
- @& z: |7 o& C, j( f
9 m, F( O/ E1 Y" X6 T4 w0 L e gen ddy240min=r(min)
6 z0 \: i* D' L- o 8 ]& ~4 |$ q: x) F/ r$ T
gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)
, c. Z- r- \0 \! \! }' j5 I- @
/ N* R8 }% Z6 z sum ddy240g1 l/ G, O4 ^8 P& q7 a1 e4 g( d
' C0 O' [6 [1 L) B gen yxis3=r(min) in 1
0 {! D) ?3 D+ I( n+ O ) p5 ^9 [& }# w+ d; K- _
gen yxis4=0 in 1
z) \' f- d# Y) I) f
9 F2 o# }. }: D- ?. B! r, ]( w *ddy240g
' N: O5 f, W$ P4 a 4 X7 D; C# ]* r9 }+ X
- Z1 |/ b2 f: W9 c3 ` preserve
. v0 a' L/ y& j. b) G( o5 L Q7 U ! F8 g, N3 _, U$ n2 L
sum v5 [aw =avol]
* i& a; p* C5 E - y2 W( X9 p" e& `+ {8 o( I3 ~8 G L
keep if dx240<r(mean)
7 q: O1 G* q3 x! }! k ' F7 t7 k6 l9 w: ~0 r/ |5 Z1 b
sum ddy240% l- Y5 A/ Z% I
- P/ l8 ?$ B4 D
if r(min)<0 {
( ?5 e1 o3 K, i1 s- v3 E/ |
' I$ Y1 z! K2 Y4 P7 { keep if ddy240<=0
V- L, U: ]( Z( O% O+ e2 V 3 o4 B' \; p+ T: I3 a) R6 d
count
& s5 R; H5 P% i# K9 s! S' [
3 j/ b$ I; \( I' f; _! L if r(N)>2 {
# F8 a! l6 k2 D; e1 h1 ~, g
6 y2 G1 s2 Z7 f) [% g( t. y pkexamine dx240 dy240
& M- u# H( B# \* H& `
" M( Z( I) S" r$ a) ~7 M local tempminp=r(tomc)
5 q4 T6 G- |1 f7 I6 ^ restore # K. ] W- q$ f# o7 i% V7 H. O
}
% |3 L9 i- B6 N5 U7 k
! v4 x% Q, r# X, t6 y m9 l" z else {( E2 J- a0 s7 e0 O& D5 k' u
* c/ I- b B0 M: z/ |1 ?* F1 I
di "cannot find minp"! [) H4 u* T' z, M/ G
3 T! |7 y. a( S0 J! X restore * v3 u( j! X4 s! s/ {* B
sum dx2409 a/ g g( H; e1 Q
local tempminp=r(mean)& Q4 V- Q( B) K& c) c6 L2 ^
5 W: L5 F0 ~# R0 t) P
}3 E& \0 j d9 j* K4 Z, | B
}
& } p+ k9 c4 H else {
% z+ }9 [0 X- u2 e
& X8 f1 O& ? I3 c3 X% D keep if ddy240<=r(min)
1 X6 g3 l6 L# h) q+ @# ]0 ` $ n( F* u4 A, W3 h
sum dx240
3 R9 G g B7 S% Q" B3 A- y
* C+ c5 L- Q# O- B, ^1 w local tempminp=r(min): c. S! m1 n. q
restore ) |$ F% `4 ~- ~* a. Q
}
, R) C- Y/ X: y# D, O u( @, g# G
3 Q2 a, M* B1 S5 I) E- t. D* J1 l0 x' s0 V% v% u
' [; P( S" O# y
gen minp=`tempminp' in 1% t) P- S' l. ^4 f6 F5 x) B: v
*240 minp
: U4 z; G- o4 f7 a0 P; T% d( Q( U) _- A6 U+ S6 t; V6 {
! D$ i! X$ W& O( M# H U
0 Z2 a+ O+ Y& j1 L0 Q- b; W! A4 G
preserve
, Y0 a& f3 [; F, { : `# E8 {2 f2 V, G
sum v5 [aw =avol]
* ?: m2 M# k" l$ l4 T$ S 0 J2 G1 f3 Q% x" g
keep if dx240>r(mean)
' O [2 ]( y& @/ B! m2 K' b
) `( u) f+ f5 k sum ddy240+ W2 \% ^/ V& N
0 m( k2 T$ \& y+ B# K0 ~ f
if r(max)>0 {# ^/ @: V5 y5 l
3 I' V6 S4 u+ s5 N3 p: f8 L* b
keep if ddy240>=0
1 M- S) h1 P8 L; l/ A ! C- C5 x' q( ?
count' Q7 k0 Y; Y3 I. B
' X) A2 N. Y$ i) D: V( ^; w0 C, i
if r(N)>2 {
2 y" P o! ]9 I# O3 U) y9 p1 ?2 j : W e/ O) P- K% K( l \0 A
pkexamine dx240 dy240+ E& [9 n- b8 S; K ~
8 M9 G! h7 A( C1 Z& t local tempmaxp=r(tomc)
# j) c! d1 Q" n6 `% }4 R restore , p# H1 I+ X( n' y& L+ o! o5 [3 U
}3 i4 r0 r2 o8 f6 _9 [% D+ \) N& M
# E1 L$ E- m* }3 V, {, K
, }# o: L" t* A$ V7 H else {. r7 Y3 p$ }& [3 ?( q) W' R
restore
" t) G, L: \3 I' O* Y1 m di "cannot find maxp"
( a: w2 u& ~$ L. K. b
, t/ O+ o" k# Z3 @9 k5 a( O
! Q: S4 T1 m0 x( q) A g5 A sum dx240
1 \ ^. D/ O0 h2 M0 b" a4 v local tempmaxp=r(mean)
4 o# E8 F- p% T) z) U" n / E1 K7 ]0 p; R4 M
}! U3 Z& N7 z( ~4 D2 i/ }
' U. x9 l1 D! A* q2 Y# p }% @* v$ @* S" p6 x
9 ]2 N# I* L, Z. D- B, |% x' n) d else {
; d" ~ O5 Z7 d* M3 s3 F : O* I# O, R: {, X6 @. Q
keep if ddy240>=r(max)
$ m z- x8 o$ X3 i& C/ f) @
4 ~# |; B: i! r9 Y6 i3 G' K sum dx240
/ C# @5 {' }" M) J4 W
; J/ w' l- M. s9 F ]! ? local tempmaxp=r(max) 4 v0 y" g" `4 g2 C, Y; l! m
restore
T V# J* w* d; Q: w! A' l. K }) @( ^/ q, M& a0 z' c. A. j7 D7 v
4 ^% O, v5 ^. t3 D; Y, p
! d9 h% O' Y! o( W8 _1 f' C
: C; s5 E5 u, y% `1 C1 r2 j4 u; \0 J4 Q7 \- X8 z% g4 E
gen maxp=`tempmaxp' in 1
- b( w1 x$ z# k 2 Y+ Y; e$ j( V$ E6 T
*240maxp+ Q# q" r" m% {2 S3 f
* n* `1 D' S6 N& Q9 Z
0 q' S# D5 x/ }# O4 O *-------------ddy240pminp左侧高峰值-----! k) d9 B, R9 J8 t
M: o8 I b; Q% ?5 J preserve
7 c9 a) u0 B# j: G, k4 W/ e& f0 U# F
2 D$ U9 s. b0 [& S8 v9 C3 d keep if dx240<`tempminp'' F' j1 Z9 Q# p! z3 h0 u! g
2 g {, r% \& H7 {1 A keep if ddy240>0
# c, _. S# r5 w$ F2 j# e/ B4 o p% z $ X6 y# [/ q/ ?
count4 D- n. H: k9 S7 u% ]
7 C; p9 J. y% v2 v
if r(N)>2 {
. ^7 s! W# c/ r9 I& i 6 L* h3 h7 U, ]2 M3 x
pkexamine dx240 ddy2404 `$ H7 N( E; e. A; Y- G% G u
7 d. Y. f. r& L h/ ^' a local tempminphddy240=r(tomc)
0 r* m: Z* ~6 ^4 q restore5 {& d1 k- ?' h" t) u, r
}" P. G3 ]: V# n) V* F; m9 `6 u3 }+ b
; v+ e7 _; i. B$ M2 o
else {& S' R s: p) B7 D k* f+ l
restore a) s3 U/ `" U! ]/ i: ?
di "cannot find pminphddy240"7 y A5 s: r r7 h
9 n( ^4 A- _0 c! J. X
6 E/ N- J" C6 C; p sum dx240
- d' I) j. n7 R7 R- [4 x- p) G, t local tempminphddy240=r(mean)
( g+ j3 q3 r1 d
( x; k m) O; g% D ! c. p. A9 w2 X% [( C& q; \
}% e0 {1 q. o: ?
3 r$ d6 s" i8 Z
6 T& A0 c7 a0 G1 |# L5 ~. [
5 v9 `0 s+ ^$ o/ ^ T6 c# Q 1 u6 N) k3 v7 h, ]! A8 E: e) K
$ x' _: o, o+ B( [ H+ ?$ _: c5 v
$ `% O5 e/ B7 I& S gen pminphddy240=`tempminphddy240' in 1) k( ?4 J, w0 \1 x
% @0 ~- c4 I5 x
- B* m7 E1 ^1 a0 M: g *-------------ddy240pminp右侧低峰值 -----------------
% u( c4 g5 }; z4 [ preserve
/ j7 n# b2 }# {. v2 ?
0 d) }# K- v' w6 [" \8 x+ | keep if dx240>`tempminp'
" C7 x: _' ?. C3 S# r. | % f B" l9 S6 K9 k; \
keep if dx240<`tempmaxp'
( ~6 W+ ]- Q2 V
$ T4 M. Z, C# n# z {7 T7 ]. X5 q keep if ddy240<0
- V, Y; E# Z7 H$ a; G- n
. O/ M Z; }3 r' k gen temddy240=-ddy240
. B% ?* P1 s, _+ Y5 y1 Z
+ Z& ]; d% z" s: B2 o& s- }) I+ ? count* j. b8 E- b, z4 P
( @6 K" D J, d' `9 E6 j* x, F
if r(N)>2 {
! G) ^& C" ]' G
# N, w3 ]! P2 M- E2 Z pkexamine dx240 temddy240
& V9 i" Z! A) a( e3 J( q2 F
- k3 X- F3 U# }) }0 S3 v local tempminplddy240=r(tomc)
4 U* D$ ]" ~3 N6 Q2 f% d$ ~6 j3 Q restore" i3 L% d1 u4 V4 G/ D1 Y
}9 D5 P0 f( H3 q% ?+ A
* I3 z1 N# [6 ^4 _2 f8 O
else {
' T! I @5 _' Z. s* N$ f# A1 o$ T - U" A9 X+ g' _$ U6 z! I' u0 M. a
di "cannot find pminplddy240"+ V" v& @2 a0 z' x' ~/ f- |
restore
8 C* K- s! _' N! f x& x ! `. r5 M: r+ w+ ]5 g
sum dx240
. c5 B# G" e5 u9 c4 I1 u3 H% U2 k local tempminplddy240=r(mean)* }- y |: A; ~" x! F
; G9 m5 v) E- o
) i, n6 r2 R. V9 ] [: g }, U }/ b7 M o2 F: V: v
5 {# q$ x5 a/ u" Y
& A6 `# l# G2 Q2 ^8 D. e . |' c( I+ Q) B, C! u
+ Q4 O. J! k% k" S7 B6 A
" H3 O" e% Z. t. F
gen pminplddy240=`tempminplddy240' in 1& j4 B' [+ R1 P9 z' e$ X
t# Z D. ?4 a2 F
*-------------ddy240pmaxp左侧高峰值 -------------------5 Z0 b& }, d- I1 D
7 m2 l/ ~7 Y9 D* \
preserve 2 @4 U8 P4 U. K; Q3 o- A
9 R! S" U! L1 R5 A: N1 Z keep if dx240>`tempminp'
( {" i1 u+ y) A 1 b# ~; d0 N2 G: h; e4 K, o& m
keep if dx240<`tempmaxp': i5 [% ]8 x% M2 U' [ i* s
# o) `# H8 }. [" H3 S* L, C3 w
keep if ddy240>0) Q) O$ ^6 i) B! [0 g5 {
count
q) w3 e: n G# h : L- x9 Z L0 {* I. q1 j! r7 ?
if r(N)>2 {
6 G1 i6 B4 c4 k- L
5 c7 R7 ~" l( {2 R+ Q$ g: M pkexamine dx240 ddy2400 G9 I$ d. C8 G. }
3 S/ G) k. B1 `4 o& E; d# a
local tempmaxphddy240=r(tomc) . e, v# n9 v0 J/ T
$ r5 U/ k# S0 B( c8 i
restore
2 b* |8 j% t' W" L( v }% D6 H" [/ _' [2 j/ Y1 l
6 d5 ^% g7 [2 w8 \9 n
else {; j& c5 c i0 d
7 Z' _( p8 E1 x di "cannot find pmaxphddy240"
6 r6 D! Y& I5 {, I# b restore
" z, s+ T# G1 D( B7 G9 }. G1 O 4 l& h/ X% K7 w6 P. J
sum dx240" |9 U* Z3 B" c! D3 W3 \
local tempmaxphddy240=r(mean)
7 ?+ ]- h# G: d 0 ^; g' Z @. A; E5 z
2 v5 Q0 D. Z, s2 T
}0 m% R+ ~" S5 u* X L
" `2 U8 G% g: K2 q! |3 ]+ X9 Q , D3 _1 G+ @9 v) k) _' q/ h
9 r# ]1 y" n: |1 A+ V8 T9 r
& Z% _0 Q+ s" h" Y7 ]8 F
1 B0 o7 m: \/ H/ u
- S# \/ r- I& g4 @1 V H- D; G gen pmaxphddy240=`tempmaxphddy240' in 1
2 K) W( u9 w, m- @0 S' ~ & |1 _* y; |5 M8 }4 [6 k
* O" T! I, Q$ Y8 }* o *-------------ddy240pmaxp右侧低峰值 -------------------
! O+ F% S% W- }7 Z# Y$ R6 p( L 2 V l% o4 ~! q' m
preserve
7 S5 r5 `; r7 v8 c" K1 d
6 E& K! V {7 r- q keep if dx240>`tempmaxp'
& O0 R) F Q1 |. t: n8 T) q( j 4 X# G, C1 J) M0 K: r1 q! |
gen temddy240=-ddy240
. f' Q X5 F; k% v- [0 \; F0 T ) t7 I1 B$ z( H; A# r* O' [
keep if temddy240>0
. q' ?. c. M2 o& u
+ A* T2 b( T" l* p5 S$ I# g* B count
6 j9 k$ g/ P5 k) Y& a' O4 c $ J: n9 p) O0 K2 F- s) t
if r(N)>2 {
- x* o: ~! m# w" e- Y+ H" m 5 V+ ~# E8 H+ K% j/ B, \& m- t
pkexamine dx240 temddy240
, L8 ~0 ^, _& ?' F* R3 C9 M9 `3 o 3 }$ i3 n6 Q# }
local tempmaxplddy240=r(tomc)
5 z! b* V: s3 b) H( J2 w' V% L restore
- V: X+ z+ T7 l9 _! k4 _& Y S2 W$ b4 ^ }
" N2 h) q! P m/ w% ~. ^, M6 S * j% E+ J, t+ \# |0 y& S f g
else {1 `9 e% Y6 q7 |( C6 g# X$ Q
restore9 @! _% U8 Z9 V; h
di "cannot find pmaxlhddy240"
& d% k6 y1 D" b, P: g1 h ` * ?8 q; t! \6 I' R6 M
8 y) n3 U b V& I sum dx240
6 @. l5 g% d: T7 e- w! A8 K local tempmaxplddy240=r(mean) in 1& z6 T4 m, k J
, B! l1 f3 t) |0 T7 H
! ^( M3 j8 R$ g& p6 `! H8 t u }
j7 E( D# i* I. k; E
( O- Z$ ~' K) ]/ m1 x% r & E: a8 h% v. i9 f0 O
2 A4 c: t4 M) T' V : \2 t ]4 Y3 h! B9 j7 A$ t* v
+ t9 @. x- r7 F1 o7 O
3 v; Y0 K! @# f gen pmaxplddy240=`tempmaxphddy240' in 1% j5 s, m* ]& P% k' N+ Z
2 v8 @7 I1 {5 o6 ]& k( h0 u/ ]# ^
*-------------------------------------
! t P( U2 m: D4 d9 d8 { S% j) N2 w0 _, M/ f8 l) {. m8 a, l
gen price5d=v5 in 1/20
: g2 `0 ]. \! E2 [$ p* I* Y L6 [2 {) B' `8 `5 c
gen price5yy=_n in 1/20
# P) G/ f: J. @' C6 s; s ( t8 \6 {% d' X+ N; F' [
gen price5y=price5yy*(dy240max-dy240min)/20
* e. `' e+ w( e 9 C. g1 d' C% h- ^ H7 B) s$ K
*price5y &price5d
, n$ D) T% }! p
' C2 p( g) j! W9 F gen priceny=price5y in 1
) w' \: d6 ^5 h/ p' _: D
; f) W, n, L5 B4 h( H. ` gen pricen=v5 in 1
3 l* X5 N4 p* w: s
- \4 Y) d( I1 s0 K7 Z3 P9 h' V: [
" z' k, T; j! b *priceny &pricen
( i8 f! R0 E# Q0 O9 G
3 S" t, q4 c+ J: y% s6 z2 s" F ( b: w# c ~2 f% A
*-------------------------graph------------------
, ~# I% o9 A8 G1 h4 c
& I4 h/ H5 R) \* 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)6 d2 B/ I" F5 r7 H: ^/ N
# X" T ^; a& N' a* ---------可选项目----------------------' J1 F+ a/ R& r5 J8 B' }2 Z* F
*(spike yxis amean,lc(blue))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean))
) Y. a- p# p" ~3 ?0 u! ] E}
. @! @* c8 O: h3 bend6 O+ h+ q3 `. m9 W6 W6 ~# v
|
|