|
|
maodeng 发表于 2013-1-28 13:13 ![]()
6 X: O8 M# t( P- e- k. hello 300236
5 I$ `1 G, v2 p% v) X5 Wstatement out of context
& E5 o( q" V1 _9 D. X( d- Pr(119);
5 G* n3 G# t0 ?" ~" ~抱歉,最近太忙了5 p2 d& z8 p, c# w9 K" F
7 b/ c [; L% Y' ?/ x7 n
300236 我用下面的程序试过,没问题- E# r/ _6 r! j& R
/ w( o. e, ~; g4 z( u
你把 D:\stock\test\source 改成你导出的数据存放的目录,再试一试
) a: Z( Q- {. ~* U2 U$ p( T$ R3 k" V4 A9 u
capture program drop hello
+ d; i% q h1 E3 G5 N+ H
9 E+ }- C$ N6 @) P0 O) y; S7 _program hello& e. M; x& r0 C0 Q
2 A9 j @" Z; k {/ I% E quietly {: N& M+ x a9 H: ]
( J' q N% J. Sclear: V8 `: f. \4 x' E; X" w5 L* ?
. J8 ]" C) t& K1 Y9 B7 N3 x
cd D:\stock\test\source& V- V8 o( ? S0 A
% U7 Z* t4 y0 G9 A& K$ l# T8 h$ F' G
insheet using `1'.txt
: S4 B5 y' C9 P' N& a7 P7 q6 O& n& E1 P
keep if v5>09 v# H, m9 c" A1 ~8 p
. f7 C; i1 x4 s* L5 Y gen vt=_n
$ ^6 u% T6 J* X. [( r- R4 Y " p& e" V/ N: I: r& r! k
tsset vt- `! ~* K4 \0 X" N M3 t! p% G
4 `) H5 G( k; `9 e8 B
gen zf=D1.v5
, n) D7 G+ `" r; v5 y
6 z$ y9 w+ Z+ I' Q; E gsort -v1- {8 v& a1 J: S: g
+ v4 D$ j8 F+ [! s. @! w
gen avol=v7/v5+ s: p% q% M8 _1 p6 a- v; \; t% v
) c; ]# m$ h: H$ P keep if avol>0
1 `8 D8 o: O% o- z
1 ~7 D% ^$ `8 P$ `' u drop vt: q( A: ?0 i) K/ S
3 B! b1 n3 e$ i, \ gen vt=_n6 f# d; c5 S4 e, V" y! C* \; \
; r0 f, ~, V# j" {, L
tsset vt) \+ O* M) M4 j, c/ l/ `) @
3 k3 \( ]$ S0 q) L7 m sum v5 [aw =avol]
& Z% W( x: w) Y. }* i5 a' J+ a3 R% G" T
gen amean=r(mean) in 1
: F8 h3 G/ q% T( r
/ K8 [# L/ \- C/ Y2 U( p B3 m * 总加权平均值 amean
( B1 u' k' ^ f3 @6 g7 A + a0 K3 \6 C0 |* @, L
+ b0 g# x, c; l, w. y
keep in 1/240
' M/ C' _* ~: |1 c5 @ C6 X5 T _# Y1 l: O0 {6 w% V
sum v5 [aw =avol]
' I2 o" v+ z% M- O. n/ U3 W7 z e3 x4 [
gen mean240=r(mean) in 1
) Z& M4 \9 }9 I0 w: f6 E
`# R& v0 p) V3 A7 M *240加权平均值 mean240* [8 E5 W0 S1 Q7 K5 e( F
7 x/ P5 S! ]0 U set obs 500
7 q( a- x1 e, S( }6 D8 Q
! l- p) x/ T3 M) T2 ] kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph" c3 [- x% \ e! H% j' r
3 m! U) p5 f& D. }4 Z% m7 p *240 kdensity(dx240 dy240)2 {1 e8 o+ ^8 h" y7 C V
; ?/ P. U- V ]$ K' P; U% l sum dy240
6 }; X+ w# ?5 N9 M % k. U. L/ L$ N t
gen yxis=r(max) in 1
8 I1 ^4 e b& S8 v. m) c! e' I
- Q2 W( Y7 g8 S4 B gen yxis2=yxis/23 [" t# F5 E$ l- V i
2 {# `1 B& D# C/ K- r/ L *yxis
! T/ x" I) I- w $ l: e% A; x' j! B
gen dy240max=r(max)
* C g/ v. b T+ ]* A6 X ! x8 O( _3 b" Y' ?+ j
gen dy240minp=r(min)
& ~! g7 ]7 U+ u% n: ^, S- R 4 U, J/ k _5 C4 H& s
gen vtt=_n
# j. `! K2 T0 Y0 S) W, J4 s. d( N
tsset vtt, ~3 Z2 Q% D( o, z5 H
- O; V6 L1 ^4 J) K gen ddy240=D1.dy240/D1.dx240 v( P0 t! K* ?( z
- R1 A+ U. o: ~; W; M% D
sum ddy240
+ E' H4 C) D/ K7 s* m
w: Y8 W# t+ D" y# H( Y gen ddy240max=r(max)
( R% Q" K. d8 L- e3 O+ O% D j& ` 1 `: ]! A ?+ u; ~
gen ddy240min=r(min)
6 f" t0 M3 S5 ^$ R' c9 H
; @1 E1 Z+ m. ^: U g. i gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min). W0 `. F+ r9 c# t, [0 \+ y
; F! z% b* |5 }
sum ddy240g
`2 j6 H. s1 D4 I0 n : d+ e- e2 ^3 z. K* o |
gen yxis3=r(min) in 1
" L7 a: M3 k' G* ]! B % z# G' x5 X' m
gen yxis4=0 in 1
- `7 j8 u* L4 ^ ?& U, H: Q
) Z' o. c4 W9 ~6 \; H4 t( Q5 v *ddy240g $ K8 M! e! k1 O! c8 ~
/ h/ d9 @5 F2 U+ C5 y$ r, ` 4 a2 @! O! r, O
preserve
) v: c0 E W7 s) Y s o# k; ^1 s2 |
sum v5 [aw =avol]( v7 M4 n- T" [& n& |9 W3 G' o/ Q
, g: M1 `( h# d% ^! ~+ `9 z0 s6 x6 p keep if dx240<r(mean)
, N& \+ s% j7 z, l9 o , |8 u$ |6 z% Q$ ~+ @% v
sum ddy2409 M G% G& L$ H9 B
0 S$ f, y: u5 j! f8 H! W: X- n
if r(min)<0 {, G- R( f( X& L& C* }4 a2 M
% P0 [3 d* h6 T# F keep if ddy240<=0" |1 N+ T3 v; B8 E* u) T. K
5 G5 N6 G" ]/ A ]
count
5 m" ]5 h, X7 `$ I% i 5 N* e0 A% f' \+ Q2 H6 D! z
if r(N)>2 {
, f8 p( i7 H) A0 \" d2 m : D) [$ c5 ?# J5 I$ l _; `0 t
pkexamine dx240 dy240
7 V' z$ O9 n# d! \9 w, d) j0 Y " t6 V2 e3 \' j% _' _# `# _
local tempminp=r(tomc)0 ~. I. U6 f7 {, |! R
restore
3 ^- B0 Y6 K' e8 ^2 X3 }) `3 J }
3 S k; w6 I1 e2 s $ ^) B( g( {2 L
else {5 m- _+ U ^6 T. Z: C' X
' l" s7 d7 S% A1 B- w1 P
di "cannot find minp"5 Z# M. G6 H4 n/ _( P
, {) V' @# E/ }$ J" V% n restore
6 n1 H: Y# e( ^% D; t R2 f) P sum dx2406 b" u; r4 T& Z. X4 D
local tempminp=r(mean)& a+ `9 @" r6 c5 m. x6 B- |2 [
- d% F$ r& o5 ^" P, O }
& [9 v4 O: |& P% v8 Q9 } }
$ Y+ f0 | V: O2 Z! X else {; x- j- {" B# z- } C. |( u' K. q( h
+ {* I: E' m! h- j0 Z3 R6 d keep if ddy240<=r(min)
& f( n& Q& |7 U- B) A) A4 N 1 Z5 m. }- e- \, V( r7 F% |" r
sum dx240
' o! o8 }' k9 G - g9 G4 T1 n6 H$ s" [4 C/ S$ f# z3 ~
local tempminp=r(min)
: J% [% \3 d4 j+ W restore 8 N3 Q( D2 {3 n/ [
}
( k" _# z3 k8 X( m# ?; q c) ? v3 O$ p! C
: e+ W' y k/ j0 `* L+ a0 W" V& H( V' _5 \2 B
gen minp=`tempminp' in 1
+ K. a0 I7 Y- ~ *240 minp
8 m$ }0 e: p* j
) J% O) B" T0 q1 J, A3 [& `7 P% \- O7 u& T/ M. K% \
8 T- `9 I( _, S: O/ F& I T
preserve
7 k$ t( `& a) e, |% {6 b- J1 r# m1 [
3 j) k5 s1 g- o7 {( Y sum v5 [aw =avol]8 S6 l& t$ S4 R2 e- \+ w
4 c/ L) ?8 R7 E: C
keep if dx240>r(mean)+ S/ e# l: n5 i+ [
$ j& H; v9 H3 @
sum ddy240
7 Y6 S8 C/ {$ R: l ! E7 y& q) f" Z, z) J. N6 I
if r(max)>0 {
- K$ j0 @: C M3 M6 c% W6 d' I ( G1 a& R7 B' ?' R$ ~5 v; O9 @* |
keep if ddy240>=0) v8 }3 Z3 x5 n4 ^6 H
q0 p6 V! }) V count' W) S1 |7 L/ J B
' V& V" O' Y( o2 g) E. b+ @ if r(N)>2 {
* b% K+ i4 D* e7 |7 S7 ] 5 l7 \, l0 E3 g( R
pkexamine dx240 dy240
: E, I& F0 E: J I
& s% Z1 ^$ K, ] local tempmaxp=r(tomc) 7 H; @6 }" o4 J: i }; o! T
restore 6 R# _1 ]) R7 R/ e2 S( \; `
}
8 x' i( n5 _+ n1 a( C7 U ( `9 {$ g" \9 P% c% {; r" A/ z6 r4 {
5 |& J, b0 x, N* `* g l& C2 N. C/ g# z
else {
8 A4 i; E! ~5 R z+ s7 S1 G restore % B8 `- P/ O, Z; M7 e7 b( `
di "cannot find maxp"
9 {, h3 R- \$ X# F) b9 j! }/ | 9 l6 ~! y, P+ F1 ^* f' `( B( W
6 f0 O) L a$ S2 n# _
sum dx240. m8 a2 Y7 c6 s8 F
local tempmaxp=r(mean)* L& |$ M& g2 T% j! u
( V0 y, @- g+ x$ u* G1 `; x
}# L( m8 D- k1 `' k. @3 M( V
4 y+ Y g4 s* Y
} w& T3 W7 v I# b
2 e0 u- M0 u; D G else {
+ f) K- q- f+ t, m( y, b3 ^5 i3 Z
9 o* e0 Q# ^+ m1 i# I& a keep if ddy240>=r(max)
/ o) _% o3 ?, O Z Z; Q/ F: B+ h8 H) n$ f- F
sum dx240- M# Q8 e6 [; L
' \& W) c7 `! _% f6 L8 A; s
local tempmaxp=r(max)
/ I* l/ \& | Q. C restore / c) w' F9 P1 E3 }: m$ y1 r$ \
}
1 y) W: G! _5 [) F , w v8 s `. H8 ?
8 E4 K6 L2 z; h% l
- ]3 {. N. Q- ^3 j
" M! U2 j8 x' j7 g+ T
gen maxp=`tempmaxp' in 10 b; X1 @: o8 V! z* s5 o
4 V1 G% x2 V0 G7 P4 S9 [ *240maxp
6 |$ @$ |/ T6 K( S
, W% O: u: h4 m! U( K
& p& e9 `5 X1 C; W+ E *-------------ddy240pminp左侧高峰值-----7 |+ G8 g' x5 b3 R# h% r
) E2 _5 g+ k& S4 B7 A0 r% J, i preserve
! d; w: L; n7 X {2 S/ G $ o' V) x( |; ]2 E9 D' E
keep if dx240<`tempminp'+ p. b1 u( G0 u- v% C
2 q5 e- x2 f6 T. ~2 @: s2 T- A) X
keep if ddy240>09 B$ {; w& r$ c4 Q7 B; j9 L
. D; v" i c* O1 S
count! D$ u8 T3 o) u9 [3 ?: Q# V; [
" X/ a2 W; m. n4 s) v+ ] if r(N)>2 {
9 ^6 p( g: {: L
1 d& S; c" _ G0 r pkexamine dx240 ddy2406 M; _/ k" i+ Z1 a
- T4 D: z. D' w% y
local tempminphddy240=r(tomc)
, o* G( v/ m' F4 a# o restore: o% Z d7 |& n) i: R
}
* [8 u& Y K5 d, ~( s
2 ]7 E: v/ e5 L: p1 E& G else {
- u% e+ Y; {9 ]8 a' b6 k1 m _ restore : u' c9 J) Y" U- Z" h
di "cannot find pminphddy240"9 R, z( B& i/ o5 S) v. }5 `
8 `# t3 f! Q& V# M1 e8 F
7 r* R& O. s# @5 M& c sum dx240
3 i; ~0 s- |7 m, Z local tempminphddy240=r(mean) ( P1 o5 B6 k. S4 |
; x2 J5 ?4 Q' b/ `! d4 X
) b: @6 h! m2 J0 _# y
}7 R: g- \. Y) X
+ C& [/ p% D( q$ q7 ]; ?
- W) a0 T1 Q2 d" m; j# f/ | 1 Y: ^, z% U1 h- [5 S
5 \+ n: k' _5 X$ K/ a
' b1 ^" O# z. g) Z$ S: c: k: ^
5 Q9 }# L' }4 e% A+ P" g gen pminphddy240=`tempminphddy240' in 1
7 d, Z: Y" [ s) M) \
# S" U. J5 a4 y + ~2 \, w1 N: e: G! K
*-------------ddy240pminp右侧低峰值 -----------------
8 i5 q$ y% P! W/ S8 g preserve
1 k5 z% O. m* f: o. S ) T$ u$ w4 x0 Q
keep if dx240>`tempminp'; y8 e* G# A, O' ^ z! \
0 T8 l- {* z6 k' }
keep if dx240<`tempmaxp'
: `( n* h! d/ c4 |8 z, o B& b
o$ y3 [. N" N0 \3 | E keep if ddy240<00 h- [- h/ W! a1 o7 n A% }+ h% S
- ?9 o" F, l! A
gen temddy240=-ddy240
5 n: g3 }2 d. L: e/ u2 {: J0 U1 P; K " b. A" g0 G3 G- }0 x5 r
count* `$ U; Q. F, S$ m6 Y b0 K
' z; y5 u' `& e9 S0 u' I$ {. Z2 c if r(N)>2 {
+ a8 ^7 [. @/ r
* C) j P. N5 M- J+ D. y; C pkexamine dx240 temddy240
9 ?0 L: Y& d0 J! G% T5 G8 k 7 k% o/ e: s- f; i3 ]2 }- u6 a
local tempminplddy240=r(tomc)) g6 J4 ?; }% R4 u) F0 X2 U& r" d
restore
2 Y3 `3 G3 ?1 x- r B( L9 @% `3 R }
+ B9 {- l7 q1 C( |, t/ v
1 a) B" P- h+ f: x else {
% L6 ~, x9 v% w 2 k3 C% R2 k5 ~- f
di "cannot find pminplddy240"
# D% m/ V3 m+ @7 U- } d& i; | restore3 q$ J% @' r! l) q" s2 ~
& g3 N% _) X6 u8 o0 C/ e! Y2 J. M
sum dx240
5 m( ^, @0 {7 v) d local tempminplddy240=r(mean)
6 N2 S [1 I. K Q* |5 r
' r' _3 V/ k& r# e* U1 R( d# I
# C- I+ k" m) p4 |8 C. j# L7 K }
2 S. r- g/ w* C' G" v2 n
' l. p% Y4 ^# l# h) P) A& b
$ o: c3 E' w# d% B
, p: P. s3 ]7 G
: z' S4 ^- a+ |. P . r9 J6 b3 S" U# t
gen pminplddy240=`tempminplddy240' in 1. g/ p5 Z% u, ?6 A8 l) R2 O
, J6 j. c7 q! ?2 V/ Y0 C
*-------------ddy240pmaxp左侧高峰值 -------------------( i; z& C- q6 C: s) a
' c5 e; c7 T0 T- R" R
preserve 8 z; }9 V: J6 a
; k4 O- q8 {' J7 G% z3 X
keep if dx240>`tempminp'
/ |. C6 n2 D3 J, m# {. Y8 b/ J1 s 8 t4 F/ f! d( v0 h5 [8 F4 U' e+ J
keep if dx240<`tempmaxp'
1 {- j& }# v7 \* ?+ N" j8 s! ? ! R: c% N a/ j8 v
keep if ddy240>0% z: q7 \+ w: i- Y
count5 U8 n6 U, @4 b. ^* Q6 y" A
4 w n; f, r6 S0 A. ]: l0 m' ?
if r(N)>2 {
& M. w5 u8 X% |& I' K
$ N |- C5 s; {9 ]8 @ Q3 u5 H pkexamine dx240 ddy240
& w/ E2 K0 j' n: ~: I& r$ y1 Y 2 D, j7 p) m. s; D
local tempmaxphddy240=r(tomc)
; A" |% t `8 [( i& q; | " A2 V5 \ z$ b. `, w# C
restore
$ `( e+ M2 B) h }
. G) a) Y* |, M; S7 @9 M! c; }7 h; H
" o( L# \4 h6 I5 } else {& y( s, m5 i1 ?4 e, [6 F
+ t& k0 i* A ?/ |2 m3 F4 n" T
di "cannot find pmaxphddy240"
J- k" P7 ^' l$ H6 b restore" J3 U# N4 ]% V w4 A
& @0 a: t) M) D' R" d
sum dx240! @& m" n( Y) c! @3 E9 {
local tempmaxphddy240=r(mean)
( W+ _9 c3 n% b3 U6 g, m
" C' n: I7 D, e; i) y ( |4 ?" Q. f, o( L
}, ^# }" E1 _: M' f3 o2 ^
6 b: R l/ x+ I7 Z7 o, Y
0 C v0 |( _& Z4 U
g: K; N) F. ~) N9 y \/ _- Q) J
9 e5 X, K; O( H0 R7 m0 z6 x
, r3 A2 G7 M4 y1 g 1 q, a' T- N* b. }$ W% N$ u
gen pmaxphddy240=`tempmaxphddy240' in 1
# Z# D8 u2 D" n" o! e6 Y , z1 y. O6 ~1 O0 M+ l
4 k6 R% N: l# r# q' W
*-------------ddy240pmaxp右侧低峰值 -------------------: q' n- `+ J: V1 F! m
: y* v$ u" @1 a/ T preserve
4 _" o) A3 L$ w; s( ]$ r6 h' s# G
/ |5 j% K) S; R) j keep if dx240>`tempmaxp'
+ Y1 x3 p: Z+ }7 B; [. A v2 c 5 g3 P8 I' r m
gen temddy240=-ddy2406 y* L" Q. {0 `3 u5 l. n
) `4 P- ~! D' O3 T
keep if temddy240>09 T3 ^/ S$ e9 H+ K) U( n% P; R
7 \2 X) B- z# L$ ^ count
+ v* B9 h# M5 V S - F$ ]' @; _' f+ K. b
if r(N)>2 {
% y6 ~4 m4 L6 z& f" c7 s * @2 O. X& Z5 @' n
pkexamine dx240 temddy240
I/ u$ J+ y# `1 M
; U: T- ^5 U1 ` local tempmaxplddy240=r(tomc)
) E- R4 h6 f( I. p6 ^; M restore
5 g* k4 B% u- S. {7 o }
2 T/ p% B. ^5 z% g, X& D6 h . H- L4 B, [, l- ~6 t7 ^9 X7 l
else {- O5 R O- t3 X3 q
restore; D* s2 x# e8 L' G0 c( D0 `
di "cannot find pmaxlhddy240"& G6 T! B+ f2 Q1 ]' D) T6 k
0 u' o, J% v7 r$ H/ \; M: g6 f6 e! G 6 R! z; R9 k- v) _4 p
sum dx240: i; N. H! R) t
local tempmaxplddy240=r(mean) in 15 ~( q, y2 f. S
2 ]. k6 ]2 m$ X9 O
. b b# ^) `2 S4 w: ?! _+ Q }
; s# P) L1 X, m( \ , V) n; k. `& S5 I' B, R% ~
! {" u2 ~( P# ?4 T! | 7 @& N$ b. z7 F' X
7 [% P0 B6 v6 K. E$ j- C$ M
; @9 `4 e' G# q4 U# S6 A0 L
# D4 M. c% b5 P2 F# b# I
gen pmaxplddy240=`tempmaxphddy240' in 1
( @# o8 M1 a/ V |0 c " ]/ k- t) A+ Q, f. E2 d7 j2 N
*-------------------------------------
v% \3 e; D( f; j1 q B- ^ . f) V# j8 G' Q3 M
gen price5d=v5 in 1/20
" V8 C- J, d/ b* ~
+ N# q) O5 } s3 ?& h gen price5yy=_n in 1/20
3 g; u3 d2 A2 P) I
) {0 `! T' B( ` gen price5y=price5yy*(dy240max-dy240min)/20& E1 K- X0 T) ~) u" t5 c* h% b2 I* Y
$ J" R# @" ?1 A
*price5y &price5d
. _1 H6 w. i% Q6 \/ P8 ~ 9 w9 T7 G4 Q1 d$ N# z
gen priceny=price5y in 19 ?0 k% N; U6 b2 h! N6 Y$ O
$ I/ g; _& ?" }& B9 q: J
gen pricen=v5 in 1
& f4 t7 G2 s, Z* `0 J# @0 ^9 ^" ~
" u; Z9 w8 X3 v, l/ P- T b *priceny &pricen: V' |) c3 @6 Z3 Z( n- \ c# {8 ^3 r
$ O! r, q. T6 C# n, `" x- o$ W
% ~0 S' a5 b* _* P9 a! w# ` *-------------------------graph------------------
/ D7 i' P4 N9 x: t9 _8 [- q; N. c$ s ; Y8 _2 e/ f( P
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)
1 s0 Q& b1 t- u5 B' z2 N8 U. \" I' x H$ L. R% W0 o1 b
* ---------可选项目----------------------6 |; N1 G+ H* K. a9 A- c
*(spike yxis amean,lc(blue))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean))
9 v( H( @1 h5 x8 j7 F x+ k& j}; p4 h6 x' X( R( I! `1 C& ?
end; w; z6 p# g7 I8 e7 D# n0 X% x
|
|