|
|
maodeng 发表于 2013-1-28 13:13 ![]()
+ G, e' f9 g8 j( B G+ w& |; g0 v. hello 300236
3 f) w, @4 r, x: L3 Gstatement out of context
# o2 m7 g' {! R2 x7 W/ U# yr(119);
, X5 r) {! ~4 P4 a" V1 h1 u抱歉,最近太忙了
3 T: y% X* l1 e g2 z; L5 t7 }) |: o
300236 我用下面的程序试过,没问题
4 S+ R2 H" I1 }; T5 u
0 a f$ ^0 b' r4 N. Z v你把 D:\stock\test\source 改成你导出的数据存放的目录,再试一试. D) I- p6 N1 u* ~0 e7 N: i6 ~
! d: g8 ?; }2 }' p* v7 R
capture program drop hello
1 f4 c5 [0 x6 n" C+ y) l; |; q
- b2 a. V# M( O8 G. c6 Bprogram hello- ^5 N: n. H* ]* g0 e' i
, v1 r6 ?9 T1 c7 N i quietly {
" F3 N, X. \7 P/ P$ i9 a, a) s: q$ |
clear$ I, i# ^1 |, d
+ n$ j9 H& C# e- u( M( f
cd D:\stock\test\source
* w7 O" b7 O! [4 V# u$ Z# B# ~# Y* z$ X3 R# d- u& t0 ?; ?
insheet using `1'.txt6 x, @& q7 ~! n; [' P( g
! Q3 q3 b3 V& U1 v% n+ W) d
keep if v5>07 c1 { P& W& E" p# Y1 c
# d, t$ _. M8 X }# e4 n7 t
gen vt=_n
* e# y+ \6 s+ p0 S, x
1 R3 j! @0 R3 B& G Z% ?9 v tsset vt
: y+ z6 u) r- ?& ]2 m# c6 M, f3 W* D0 r( ?1 |
gen zf=D1.v5
( x5 L [% a9 {0 V/ R% _3 x8 K- k$ x9 M* J- W
gsort -v10 U H V# K- P
. Y2 o* Z$ r3 d% D gen avol=v7/v56 Y9 u2 ~* `# W" H# M1 \, J
- q9 }7 d4 c# z) L3 m keep if avol>0
6 H; m' ^0 C3 z& k" C
( T5 o& U- z& V' [5 T; f drop vt
N- ~- r8 x1 r/ W
5 i0 f) ?3 x- A gen vt=_n
- }+ I" }( P5 s- D+ t1 `3 f5 u0 ^
( Q% F( _! t4 {# Q tsset vt
1 v6 Y/ e. ?. Y, u ! T! D0 D3 Q5 h# {0 k
sum v5 [aw =avol]& [ R+ _/ C8 Q* b! t: |5 E
# q8 ^& M4 {1 `9 M% }, Y+ H
gen amean=r(mean) in 1
1 N5 {$ I. w# a) a- ?# E$ ^$ p
, d3 l# x8 B; p+ [ * 总加权平均值 amean& g4 ?, G" R9 v8 q1 U! @
4 L7 R3 z& I1 G( T$ A+ K9 |5 A
) D% N6 P6 w# q/ X keep in 1/240
- t) R3 {! m0 k; a; F: {6 z
/ l. c2 H2 B* B6 w) k: @! N sum v5 [aw =avol]1 ~1 I" ~3 z3 o2 `
: u0 u) s: L, T4 o) r& x gen mean240=r(mean) in 13 U; |$ {1 l, n& e
5 |3 a6 \! K! J; P; h( W/ P) R *240加权平均值 mean240' K8 q/ |/ k# q8 o- M* Q9 K
* m _& N; q! [3 G0 d8 t, r1 Y% n set obs 500
2 \4 w6 n- o3 J( t5 c
- f. ~5 W* g" ]' P# A& |6 @ kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph
9 j3 I6 O5 Y3 j6 l4 \+ h 4 E* v' ]3 C2 A9 m
*240 kdensity(dx240 dy240)
1 W* q5 p$ p2 w; s9 f
3 k7 v& r; m! {8 @3 r ] sum dy240
1 V, {" w/ E4 [$ _, H# R
$ K/ a& |2 P5 C) a- ~ gen yxis=r(max) in 13 j* R% { w& ?. o/ I
}% J; G! \ |( ?; S
gen yxis2=yxis/2( H/ A4 C0 V% w9 n% N" h
- d/ ?! j( f* T- X. K& ~
*yxis, a: o3 x, p) s4 D- G
- L, R5 D) a$ d9 j gen dy240max=r(max)
' L& I' b7 w0 o' B7 F
2 f0 }. l; F- R% d1 U+ [ gen dy240minp=r(min)
. @7 i e y7 |0 @7 w
5 I0 c L) F- G: ^ gen vtt=_n
2 V/ [% t4 `5 P, ~9 z% e/ L! N3 c5 C
tsset vtt
5 i- G, ` u" O. c1 ~7 F% b- D- L. V7 K( _
gen ddy240=D1.dy240/D1.dx240, c2 J7 r8 f6 h5 ]; h8 \( g
: Q+ ~2 R$ b& a8 w) K& G
sum ddy240
" x& n) l) s1 K6 ^ % Y: z& u' x# l+ k0 N3 a. T/ q8 M
gen ddy240max=r(max)
5 P% }, O5 A* G7 K
% M) |5 u2 `! Y6 Q$ ?: } gen ddy240min=r(min)8 }% g, E* x/ `2 v ~" H }1 H
% |/ k1 Q7 {( u' l gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)
) h+ K* u( F2 F" L- l% b! n ; J) H9 {9 T/ N8 W8 V
sum ddy240g; R7 S$ e4 ^1 q# ?$ m
' n7 P5 h. X* c$ ^' `% g3 l gen yxis3=r(min) in 1
& E, l' z, d; m& M/ l ; I# _8 _. T' V% ~( O) Q# \
gen yxis4=0 in 1
7 Z1 v1 @% Y' c) h: v* E
0 U1 }! j X Y" W *ddy240g ) Q8 |! a9 I4 ]) B& x
b$ t0 J4 m1 c2 b* R6 F3 c . {0 l0 A% n; i: G. g
preserve
! Q# {2 @ D, ~3 Q" q. r" N: w . q' m1 q9 g# d8 Z$ x0 }# h6 ?7 [
sum v5 [aw =avol]
& _6 d5 H, b3 m' s% e' a & d5 q5 t% |6 Q5 `
keep if dx240<r(mean)# ^( e" }1 b( D' U: r
1 L% I! s# G0 |1 n: l" ~
sum ddy240
' n! Z' h- e+ M0 C9 g5 a, F0 ?
9 j# k& h% u+ h if r(min)<0 {
Z4 A7 f2 d% P: d" n9 h. Z / `0 ]5 K5 \3 \3 T+ U: q7 W
keep if ddy240<=0; e+ Z, B4 G' S' C' s; f* A
% O5 b% V) c- _+ a: Z" Y& t. O
count* I+ p2 k* j0 H- e$ f3 N8 O# l; @
1 O& S, f( F0 q* M9 D6 Z! F
if r(N)>2 {
# k) w; e9 g. V! d
( F' E# m/ \- {& F pkexamine dx240 dy240& C9 U# N: d1 I/ D4 Q, \5 z
) F* S7 A5 v. Q$ m1 ^* e local tempminp=r(tomc)
8 T: N: m+ r: p7 T% k, |4 f restore ) Z5 D8 Z3 T! z" I
}
1 V1 x4 H8 W9 u) B % E2 y% v) k# u4 a1 \& g7 ]
else {
6 z% r- Z& u. X) A; a) `8 |
% z3 [8 I0 N% F! ]* b5 V6 J di "cannot find minp"
- A: u# b, Y- u/ V' x) w" t& c" B
, e4 n' _( A& K% ?0 @ ]7 s restore , @. `. J; {1 q5 j o6 c
sum dx240
& |8 U& O( X5 d local tempminp=r(mean)0 n% A9 {) @7 f+ T4 F" N
) G L8 B1 H0 T7 }+ g# s0 ^
}
p6 @: [7 ^% l2 k }
5 P( C* r; G% s else {
3 c @$ w ?$ S$ v k ; Y+ e7 l6 {8 q. u9 m" [2 {
keep if ddy240<=r(min)% q. t, b) Q, p/ ~& }2 I' \! a
0 ]- [) k- [) G \2 i) F4 e, f, _
sum dx240* K2 J( b$ N! h1 H% L
- r8 @( T- z. c
local tempminp=r(min)0 _6 J6 x! |: Y! l$ g; C
restore . Y# C: _$ U5 W, z- h
}: ^5 R! N: B* W% M. {8 E7 \: C2 _
# ^' \! b" l5 t' E s4 y8 l
# F" r* J- o, [. F$ Q) |% f
* @4 h- D4 k z' |- L. Z
gen minp=`tempminp' in 1! E( m/ R) u! n4 U2 r: Q
*240 minp" y5 s3 d* @3 V( D L
9 p" D# E% |. B
- _9 ~9 @4 i! q) J
, R$ R* ~0 l( }' V: {5 W8 H preserve 4 U- n0 N% p# y; h4 L, p: T
0 K1 h) m6 j0 a4 a. `: K2 H
sum v5 [aw =avol]
" U! N, X8 [* e. N, {, t& B
* M4 B2 B6 c. [) y5 i: R keep if dx240>r(mean)) q' T8 o/ ^( R! Y3 J9 J9 g/ ]
5 m) K! a' o+ i( F8 D. \ sum ddy240! w! t/ W# z* T# Y5 m% h: b
- L' r/ Q1 _6 `: v! [2 V$ [. U
if r(max)>0 {$ i8 X8 l' r1 H2 h
6 N( J# A6 w; J v; x( V+ F9 s
keep if ddy240>=0. a/ ?& J4 M! H6 s$ h
: i( t% M1 v# m! t& F
count7 Y# e% j: e q6 t4 X* J' t
% p, q' A# i7 [3 n
if r(N)>2 {
- u" B9 ^/ Z" n" H4 [% W 6 [3 {3 l3 w) S
pkexamine dx240 dy240
" X2 q/ f# R+ L: F4 N : s. {1 J! i4 p5 j- v
local tempmaxp=r(tomc) 7 J6 i; M* J8 [. J+ M9 ?" @
restore - }. j* l; j+ X& Y
}
' G0 e% x7 a1 j4 Q5 u1 V8 y; r- ^
9 d8 S+ s9 `, _+ X# k3 [
1 @8 d0 _7 }" D# A7 N; p9 U Y else {
7 {- u9 r! p- n- i restore
. W3 X; }' u* ?% Q di "cannot find maxp"4 r) W9 ?0 [; q# P6 x7 B
; ~$ w8 ]6 `. }4 j0 U8 h
1 x; y; e& S) u% l$ Q. X sum dx240
+ Z/ v6 c/ K5 u local tempmaxp=r(mean), h: u8 ], Z* Z* S6 y; _ p. `
# L" J8 ^ T+ Z* X
}
% |, q! [' D$ V" R5 L' t. I
9 |. T: H8 I' J; ]3 l* y! _/ [# C }% a& F- j8 y5 y; `" B. E. B, D" r
+ G3 d0 R, z$ I: j8 E" \
else {
/ K& \3 O9 p/ u: I
% V" y( O$ z/ E& F0 _# @ keep if ddy240>=r(max)
' s# V: q4 {; I ) {( M5 X4 W/ R' H7 M9 R5 i0 \
sum dx240! `$ U0 K, h: F: C
! @. J& |* s c( Z4 L3 S! X5 H local tempmaxp=r(max) / v" w# b: c V, V/ e# B. R
restore
$ }: R" o) G ~# v6 } }, ^5 p% g' U, b' y8 {
* n3 k* w: n# D# U" m& ^7 t
- W( M4 p* g/ n. G8 J
) ~+ P2 f3 a# ?& O- d; g, U
: v4 H3 }- U2 R6 _3 n/ f4 Q* u
gen maxp=`tempmaxp' in 10 b$ ^7 ]7 ?! ^! y
4 [" @ y' C1 q9 n *240maxp
, u, V2 ~7 @, M( H
! U2 Q: t& l& D
' N0 L3 g+ V6 y; L" x& v *-------------ddy240pminp左侧高峰值-----1 c6 ]6 u9 a+ G
. O6 `" {4 f3 `. M' @% k preserve 2 _3 b- P% @8 ^
3 N, O# j7 B+ g7 l* h& V
keep if dx240<`tempminp' ~; n4 o+ k& m4 h. j( D2 I9 [
" z& N2 V( w' H4 Q& K keep if ddy240>0
1 S8 ^% Y3 P) j/ f$ w( `/ f8 u ) q" \8 x" a7 Z
count( C R O, G3 G/ R$ E0 a& j
: q1 k1 b+ e/ K" z& c
if r(N)>2 {
4 Z. w" S! S6 k+ \2 p, O + R2 u9 }, _) K! A% O; x
pkexamine dx240 ddy240! h- Q8 K* u, J
6 m, F" H5 g: J8 R% y' t0 P( ~ local tempminphddy240=r(tomc) 8 ?: p4 G6 G. `# r" Y+ j7 C
restore& G5 J0 B t5 |
}
! {& G, p! X3 \/ C) n. | + e0 u4 s* t9 z+ O
else {' H8 w) Y$ [+ V& S2 o* t
restore , t9 Y0 ~* x9 k# ^5 N
di "cannot find pminphddy240"
1 ?5 w' F" r! u% \# U+ d" ?0 Q 0 m& K+ J. u- R0 _3 f4 P" i
$ @5 \: \: C8 K2 ~: M6 |0 o6 Y0 z sum dx240
/ y4 s. B; R& {( i8 _* O local tempminphddy240=r(mean) ; D5 X9 Z# z$ e! Z4 B
* m2 l4 ]8 f" H! p. d, ]3 q
) S" a+ n6 [- K2 D5 Q3 Y5 t
}
( r' Y& Q5 ~: L+ t' v( [$ E, U9 x # L* L/ [' `1 o( B, m; \
( g" m( }6 t( E( Q3 d6 W
4 i; x0 r; O5 F' n+ a B$ p* w
8 t$ P5 P" X4 E* V- J2 u , `# w, t& ~% q/ m, L; X
X o+ d& J+ q$ R4 ?! V1 o3 r gen pminphddy240=`tempminphddy240' in 1
/ s6 W8 [& l$ n, B; L4 U + y: a# w" Q1 a! l3 |
) `9 F8 C9 R& ]' L7 k* S! _
*-------------ddy240pminp右侧低峰值 -----------------
, @0 K6 M$ f& y- u3 L* ` {. w preserve
- y# a7 x3 z! q5 e4 q
) u |2 g; K# m D) [ keep if dx240>`tempminp'
$ \. h# U- l4 x; n4 z, F& L , Q+ Q8 c$ T1 o- a J7 I$ o
keep if dx240<`tempmaxp'
3 f/ s5 P, s. j4 E% e; e5 o
& C$ n/ ~/ l; {& R0 A keep if ddy240<05 }( x% k' S( d, a# }
+ J1 V H7 Y' k0 b! M" }7 u% d
gen temddy240=-ddy240
5 H9 } T7 T- I, }. H+ H |* J
% N' G+ N; `: n+ z1 l( S/ w- @ count
0 t8 Q8 o2 H2 x3 e" W( y9 [/ W
7 |2 ?, j' J# Y" y" _4 Q if r(N)>2 {
$ B8 r' p: V& K / J! S, h) U7 c; H' q% B# V7 l
pkexamine dx240 temddy240
6 w$ V0 x }/ i. z8 j
0 k n9 H/ ^1 Y. r/ Q local tempminplddy240=r(tomc)
; v: @% U0 @4 v6 x. s2 w restore0 o7 \" b- [/ t9 T' u/ g
}
' v, S- y9 n# Z1 ] : z* ]2 o i5 W4 L- c7 Z
else {
- l8 |+ s* I, e. z : _8 l' w6 ?# J* P" e f. R
di "cannot find pminplddy240"
$ |" r; d1 ^# L1 i$ @0 { J restore& V$ o: u/ s6 f
7 {" i6 g; \" x+ h* |
sum dx240, W( }, A8 ~! r4 {$ R
local tempminplddy240=r(mean)
8 g! |% u8 X# ~# \" U% _ 9 k; H" N1 w: Z
5 t, Z; I' H+ }) m }
5 ~( V9 N5 F7 V3 X0 Z1 z* X * l- U( l8 O& e+ B* w
9 |' s5 k2 C! M 3 m, ]( B/ f- j: k. {9 B8 G
$ E% L! a: K6 E1 T; O
$ ~' N/ q; {" q9 J" Y! a( j! c gen pminplddy240=`tempminplddy240' in 1+ j' d( v6 N& d6 U# q/ B" ?9 s
/ | Y, N: U' w9 @8 U *-------------ddy240pmaxp左侧高峰值 -------------------, c0 z6 w: _* X: {8 V/ ?8 \
' U# T7 w. m: q9 S
preserve ; H0 f0 t# }6 W6 U" l$ N
3 z2 U+ [; r$ M& @
keep if dx240>`tempminp'
& s) H( B4 a. k% s1 }* h 1 }1 `' @6 m0 C2 ~( H
keep if dx240<`tempmaxp'# K( @7 H: B# s I2 b
, [8 Q( j. p2 X. `2 c! p) |; i9 _# D
keep if ddy240>04 ~/ a3 U' ?" n2 e' f% M6 x+ u# o* m
count. M9 ]& a5 Z5 |+ Z2 T
+ i% S# t% D1 [# z! v if r(N)>2 {7 J$ N* @- _1 w( T
7 E, \- Y8 H' S+ X3 M! D/ q
pkexamine dx240 ddy240
* `% x4 K" C. I7 r }% k: H' C, i
* ?: Q: E; O, ~! |8 a# l; ]) a0 Q0 W0 A local tempmaxphddy240=r(tomc) - }, \5 U1 a$ ^( T: X c
# s9 i+ [& }; K7 X restore- ^' R6 f! z4 q/ f
}# t; G8 w, X; @9 [
, Z |5 o% a& q) ~/ v0 Q" b else {
2 m8 ?4 M$ z# c ' g2 g3 m: M' y5 o
di "cannot find pmaxphddy240"
+ Y! |) p3 X; R restore
[+ q8 ~4 |3 B% u( z; d
8 E6 p% H* P3 A- a7 P# i4 Y sum dx240
1 [+ P5 z4 B. ]3 S local tempmaxphddy240=r(mean) 9 [( u; [+ \. y* c
3 m" N2 y) }5 y, v9 t$ {
2 j4 Y# M: [/ ]1 C% v) L. C
}- Q0 r1 S) D. s
1 r$ M* H* T5 {# ^8 G6 t) i# B
+ c$ n3 K6 t! |" [" W4 k5 r, f' G
0 _0 d* P) g! f9 C& X4 a 5 r. i2 K* F4 Y6 r( K
( g/ \4 x4 ?! k6 G3 Z" Z* u
4 X5 u7 ~( P( b* U/ g+ y
gen pmaxphddy240=`tempmaxphddy240' in 1
1 Q8 Q3 t! I1 @ j, \0 M! ~0 Y! z
! C- p- a. c) v( B8 p# k9 u3 n 5 i) O( U6 l# m
*-------------ddy240pmaxp右侧低峰值 -------------------
V) ~8 ]2 F6 Y & Z' w" b, c; d4 W l4 ]: u: S8 i
preserve % Z `9 n6 u3 w8 w2 R. y( \
7 p* R& J, g1 X' K) g$ }! r: T) m8 E# b keep if dx240>`tempmaxp'
0 E, F: W+ o; {5 @5 P( }" L
+ F+ a. p7 o5 @3 |! A# q: s gen temddy240=-ddy240) b; t7 N9 ?9 Q0 @9 d6 G2 N% y
3 F3 k* U- R: ^: z9 ]+ j! N
keep if temddy240>0- g: h& Q' E/ i$ x
- m2 |1 Q4 u# ?9 |5 q% } count& `- M4 V( ^) `1 P' E, d: d
% F/ K$ d8 x2 ^ C% S
if r(N)>2 {6 |. n) ~8 g' G# c6 e2 R
) C9 g3 }, W5 [ c# N" n
pkexamine dx240 temddy240
1 H# V0 B2 v8 Q a3 U: Y
" t/ z. Q2 Z+ M3 ~9 z local tempmaxplddy240=r(tomc)
' Y/ u+ F7 c9 b8 p# G' d restore, {3 A+ E* o9 o8 n, }
}
& q, G( \) F5 I3 r! k4 }3 V
+ T& u& L, }8 K: F) H else {
2 W# g- O D* |: o5 J7 ` restore$ e2 D( G( R+ z- b, P* a
di "cannot find pmaxlhddy240"# A) W, k r2 ^9 |" s1 f
9 M3 g; _. [& m4 w+ p0 b
9 B" s P$ F$ r4 m# w0 N
sum dx2402 K* O+ g0 k; }' Y" O9 G: ?& v( ?
local tempmaxplddy240=r(mean) in 1; n Z! K5 O) ~
, D& h: O$ v9 m9 ]( B ; Q! d: ^3 p' g+ j& ?
}
: `4 j# O7 o% |8 @6 `
: i' @% \2 R: U0 g. a $ o" g; K3 ]; t2 V. @, p4 S
7 o! N# Y% ^9 V- h8 a3 Y; `( c : h! c+ c! f0 M8 b3 f# n- t8 M
6 h5 L& x' n# U4 }/ t# l8 ~! Z) x
' J n% ?) a2 F X4 Y# N8 O, e
gen pmaxplddy240=`tempmaxphddy240' in 1# Q2 U5 f& @" x/ j
' B$ l8 U/ J) G. F
*-------------------------------------- B2 H6 ~ B- ^4 @" u9 c
, T) y* e3 |- V9 r7 [) Y( @
gen price5d=v5 in 1/20; V. }* x2 G* _# f& Z
5 g; V& J' T! l6 O gen price5yy=_n in 1/201 `9 y g3 A7 ^! y+ E1 D
2 I5 U. e% {' g! L r! W- W# r
gen price5y=price5yy*(dy240max-dy240min)/20- |/ ?* k4 T& h! ^& a
$ `) p5 a" f& K$ P E$ N *price5y &price5d& j! o" j) V8 l6 C, _ e
( Q4 w* |0 {6 W gen priceny=price5y in 1
5 e$ r. ?/ b& R& V$ T" ^1 ? ' V. n5 K' E+ V8 T
gen pricen=v5 in 1
4 s) \, h+ X. U
4 q7 z/ {0 v6 G- k' \
+ R0 z0 `' I9 }8 V8 c& T *priceny &pricen
: G6 l8 }3 B2 S, T1 m 3 n7 `% Y7 R( W5 i: w
2 ^# J, P9 @6 b+ t) j2 E* x
*-------------------------graph------------------
' K5 R& d4 m/ _" f. a p; R- s
0 R8 Q1 v0 E x1 w6 `9 c2 ]0 H 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)
# `: W8 l+ o) p1 Y6 H4 o3 B
+ z5 k5 t' U2 k) N* ---------可选项目----------------------9 O5 N! q7 ~1 O& p9 n# F& v) |
*(spike yxis amean,lc(blue))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean)); k! _' k9 p. B! D: J6 C
}
* n0 d; z3 ~- d7 X+ {+ bend% p9 r$ K% j* y' o% A3 y2 x
|
|