|
maodeng 发表于 2013-1-28 13:13
, C2 S% T8 i/ \' F. hello 300236
& _& k/ K% B+ C- V% H; s+ Astatement out of context
5 v7 m0 V4 Y9 M7 x3 cr(119);
8 B7 N$ y( B$ C0 P8 N/ {$ ?# e4 J抱歉,最近太忙了
) z. s' n% } Y
- G$ Q5 |$ W& G, f K300236 我用下面的程序试过,没问题! e( K+ D- {4 j C; t: k
- I2 `! l3 c- F l: A你把 D:\stock\test\source 改成你导出的数据存放的目录,再试一试
$ U) N8 l8 g. f$ H" u6 | e
+ O+ T$ o% A+ r( X# Gcapture program drop hello
2 ^$ o; h( ]* u8 @( y3 h, X* b B u# {! }3 `3 E
program hello0 d1 @* F3 y" E$ P4 o# X! p
# l! {& E3 u' t t* B- c. B
quietly {6 {; h3 R, [/ \( u" H
) e8 P5 o1 } `1 G8 W$ u& f- {0 `# O! gclear. Q- d7 l0 Z \4 b
6 j7 u) w. W1 N& F c1 K8 Rcd D:\stock\test\source5 F8 C3 m+ K6 q r3 Z6 f0 j
% ^: t+ B+ p9 a& jinsheet using `1'.txt/ X( y5 u! D2 s$ ]) Z2 C
) H# j+ L8 j) ~
keep if v5>03 I4 L3 H! N6 u6 _8 h
) ?5 u3 Y5 M. x" b& Y9 h
gen vt=_n# P: y8 I9 f* z" q
8 t W8 @# O7 @/ X, a! t
tsset vt
! p% @( Q( k2 b7 H9 q* u; {# p" S! Q, M" m( x) G
gen zf=D1.v5
& ^# F+ d. {# C; | \+ {) N% x) \7 s5 b
gsort -v1
4 H4 R- o4 N0 Y, N+ J
- p- o8 |7 f3 \5 O" _* H# q gen avol=v7/v5
, [- h: y7 _) f5 b; B$ U
2 P" O9 L! e( `! J) P& Y* W2 H keep if avol>0% X7 |* d6 M# T( d
; J# o0 L) Z h* Q1 G
drop vt
, i4 g$ g$ G$ f+ ~3 H& ?/ x* \8 @ ( K& @' T T' i
gen vt=_n w/ O3 K* ?, `' ]) t" @# u
7 ^/ x5 q; [5 f1 W! b. ]0 O
tsset vt/ I0 }9 r# ~+ ]3 L
8 u4 T* X# E/ j/ J7 H
sum v5 [aw =avol]
) v9 x# {4 W; k- D% H5 L$ Z7 m7 R) @7 s1 \" ]+ x
gen amean=r(mean) in 14 o. D+ v! A* r
9 |) T+ }, l' p) h
* 总加权平均值 amean
& v" ~. U9 f& J 1 N/ m6 D+ u; f
" P$ A! S( O% D, H* j# C4 N# h keep in 1/2409 k" h3 H. ^9 A7 Q
4 d) o2 I6 H% Z2 {
sum v5 [aw =avol]% I5 I$ Q+ H# ^, f9 A
; e! a1 R7 j! y% x- N1 C gen mean240=r(mean) in 1
0 h3 D% x5 ?6 {
% y% m8 M' n" [; R6 X *240加权平均值 mean240
m3 j) p2 j# U3 A+ d / j# O$ m6 N9 o4 ]
set obs 500
. R X' A8 r# j2 B+ S
) w) J4 M- A- I0 B& r kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph
/ _. w( R6 H4 j# d7 R2 L / ?0 ?/ @1 r: G
*240 kdensity(dx240 dy240)
1 ~7 D: C# z% @7 P 4 v9 ]& J3 T! E8 Q, n% t- B
sum dy2406 g0 D( Q- r& q. Q: k
$ W( p! | ~) l
gen yxis=r(max) in 1$ F. M c6 ]6 ~1 o! C' i Z( {
2 z8 B% f. M8 F' Q+ M* f gen yxis2=yxis/2
/ k, B) S/ s, i 4 L+ V: }$ F5 M5 x7 l
*yxis1 U% N0 E) _, c& A4 W( k
4 { O/ _. |8 {+ z# A4 h. b gen dy240max=r(max)( O& d. O* {* F% x! g2 u
6 A4 D% r/ B0 R( q4 S$ b gen dy240minp=r(min)" \5 T5 x/ o4 D d
7 D' a4 o( T1 V9 }$ Z; X, q6 t+ k" u
gen vtt=_n# V, G. p$ ~! g- e
1 s: V7 G+ R& p l @( J, T tsset vtt
; e8 g# O6 N1 Y1 G5 G. L0 A
3 {" h" O; X; @. j1 P gen ddy240=D1.dy240/D1.dx240% b; E1 W# C8 w$ v" o( Y1 F2 }8 Y" `
/ X4 [- u" p3 r, o7 C) n8 u sum ddy240
7 s0 l/ r. C' R3 T Q0 i: L
5 l* a6 f3 ^6 C! ?* }% S gen ddy240max=r(max)
3 f$ } m2 O8 T: Y5 z - M1 |4 T6 e$ X% \% b
gen ddy240min=r(min)+ u/ B( G- i0 x4 M$ ^ ]6 U9 c
. w. D! E, y+ z/ o) H gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)' e: f9 } y3 s- f) Z
1 q& x: c" _" M+ U7 J. M) v: H) l$ k
sum ddy240g4 O- @6 Q+ o I* S/ O8 e9 n/ c
9 m+ S2 c) @# H5 g" o @" \+ _ gen yxis3=r(min) in 1
9 L0 }9 t1 H0 T 5 \+ l, P& m7 ~; ^, O- b* l# \
gen yxis4=0 in 1) H' l2 F% ]1 i3 x8 G
3 T( C! k# p' d* B5 N
*ddy240g
5 {% ?; K& Q; v( J0 R 9 e8 A5 _, p6 u# z( ?
8 \4 a( ?- u' Z i$ D' B2 m+ b
preserve ! p% s) t6 {) U" b
7 E% r$ Z( @+ F/ v sum v5 [aw =avol]
" d1 k1 n' x G( O9 N
4 A. X0 ~ i0 ~1 m- K keep if dx240<r(mean)
3 f' j) w2 V; m) z- y! |6 f
' d( ?" ?, o- M+ P sum ddy2404 K0 S8 \1 B) j
3 M6 Z3 j/ ^/ I7 K* k4 C/ b( E
if r(min)<0 {
" R5 A" N9 o/ Q# z' ]1 K$ W' u S
2 s; S3 z( u6 T6 p/ b, o* y keep if ddy240<=0$ g9 E2 B2 U; F" B( P. I, ?3 j5 D
6 }2 z5 F- G0 w4 A; |) |& r! y; X8 H7 O count* r8 E/ [. V9 p& Z) O* |
- o5 p9 G* W! n: k. C if r(N)>2 {& W' q+ R% n" o- _. a6 ^
+ D0 i; `* M9 |. f pkexamine dx240 dy240" h$ G( g/ |# }, k) L8 o+ L
& R/ M0 n/ o0 C) \8 s2 o% N6 }
local tempminp=r(tomc)
9 O, T2 Z$ M: [! T2 J7 m$ V$ c restore * F8 C' R* o9 k8 H# H
}$ B% j2 G0 K- ^9 v) ?9 V
j, c' c. H* f4 ? \7 @1 Z
else {2 p- v) F3 Q8 i( m; o, N
( B6 X% u ]$ X
di "cannot find minp"2 z- `1 d7 d5 W* ^
* v% I+ O% P- V' ]4 Z! ^/ G restore 0 {) l0 o+ a. V+ n3 \! B* b U8 L$ J
sum dx240
8 K% O: I. M7 R# ^6 z local tempminp=r(mean)
& a; j* i |0 B% h. B0 m* F( V$ Q0 j2 H
$ k4 X3 K; C: S4 S& y }: q* }# `! {! c% A( A \5 S
}" Y- {( s' [ x1 P
else {
& f5 S* a" I1 R0 k5 z; b 0 h7 O* E8 J1 m8 S; }3 z
keep if ddy240<=r(min)
' Y9 D0 f& P/ U " X1 b+ f, N$ D9 S% E R
sum dx240( C5 S# q; a) q% v
1 l8 ? [& j# k/ E& n9 O" O T
local tempminp=r(min)
; H' j: ^" @* Q3 D restore
_8 a" h! J; r7 {9 o- S0 G2 I }& f4 f2 h) m) R- ?2 d' g
# r+ O: \- Y6 Q7 [$ b6 k+ v, u0 }, G! V7 U5 ]
0 x! A, b+ s" }, _
gen minp=`tempminp' in 1
/ Z2 b1 ^0 H5 \/ D& s5 Q *240 minp) w- q5 g# t# S" j7 m# D
; _+ | H! O' `
' D+ c0 k1 H8 k! w" D
7 V9 X5 k. }: S: [' _ F
preserve
8 |/ ^0 t' {1 @* ` 3 H$ [8 a: G* J: m
sum v5 [aw =avol]
4 u) p' p/ q0 O% t9 G
; l O6 K0 M' T' R* H& t' G keep if dx240>r(mean); U; i* D! Y7 q7 A
4 Q+ e. U7 X$ ^' ^; j9 a
sum ddy2407 @1 W" G; q- Q: h
6 s8 ]/ p3 G, W6 { [1 Q
if r(max)>0 {
/ R8 u3 k! j8 C2 H+ z. [1 ~ / v$ R4 A. M3 K7 q3 x0 ~: J
keep if ddy240>=0
. U6 ^' C4 B( Z! O3 N
; K, G& q, I' d( h- y4 q+ m count
1 Q3 r; b$ V! d% u# F6 P$ U( ~ 8 v- b$ a; N1 }) t
if r(N)>2 {* }! G( F3 Y- @4 \$ w" _' h Z5 a
) S g' e0 B! F3 _! m7 U1 j pkexamine dx240 dy240
, o3 H0 |7 d; w ) C( R$ g) b3 p2 D: ?3 I% W
local tempmaxp=r(tomc)
2 L+ l( A4 F. p3 K! C9 ] restore * ?8 Y, k" f. w
}) u: ^8 U9 K. p
$ _) m( I) T5 v- G* b # t, W- A) ~) q s0 Z
else {# X, Q+ m' j# b, |
restore
# H# `* g) o9 x! V$ X8 \8 ~- }4 o di "cannot find maxp"
6 Y5 ^% p" p( s* E
4 n( }9 b3 s* n7 j
6 ^. p R3 e5 C: `" v9 D K sum dx240
; P$ O/ D5 Y9 G5 i local tempmaxp=r(mean)! F" {2 G n0 V! q8 Z
0 R4 |- [& ?/ m5 |5 t" t0 J }$ ^0 [" }- S8 g9 ?' g# u8 w8 n; J
0 e/ i& y) K; ?& D O0 E }
. ?& r; Q, B1 d. G9 j 7 v' B$ p3 y. e% P
else {
/ v& ]3 p$ r& Q7 M
! m9 T* Z' @0 A6 M& y keep if ddy240>=r(max)3 N5 _6 E" D) S7 |$ c# k
- H: W8 n2 `& v2 l0 m: v9 J* _
sum dx2401 A2 {9 O. C& e8 }+ o3 f1 e! U
* f: I( @7 A n" P+ D2 p
local tempmaxp=r(max) . Y$ I, D6 c& [. V
restore # e/ s1 D+ c3 _4 X, N% R) V
}" F" o( w7 o: D) _% v5 c
$ S# o+ Q7 Q Z/ t& @ [
E/ |5 o; z# V" b( [ ; [( H( i! B' b, J8 V. N
% `2 c+ ]; Q- M' N1 S gen maxp=`tempmaxp' in 1
9 Z ]9 ]+ r+ V/ v5 O1 K+ k + t# r* X7 h, e. B" S' Z% `. M# P
*240maxp
4 b0 ^6 @8 k8 W! b* H ) p$ J! U! p& E2 V# ^( ? O
1 ?9 T! b4 z" E# n6 i *-------------ddy240pminp左侧高峰值-----
( F5 ?6 L( \9 V, {( j u U
' ]$ {0 T, j+ g& r9 G preserve ( ^2 `. U1 D3 t- D& w
6 D* z* m. _ z3 x$ D keep if dx240<`tempminp'
5 a& _" R; T6 h# w8 |$ I & {% b) g- v2 F( _1 M2 o
keep if ddy240>0
$ {; h1 r( W% C- M! c
; O6 k( c$ u! `$ e0 d; N9 f. Q w count
- k$ i* y3 `8 y. M& M
0 W( W+ c8 e$ x6 S; Z if r(N)>2 {; V% X" p$ ~" p9 B
: @8 q5 Z* {, w, J5 i% A
pkexamine dx240 ddy2404 J' s* P% O5 a* L+ ~2 h
+ Z; T& f1 X1 a. C/ t2 i' c local tempminphddy240=r(tomc) & U/ q8 a. N3 I% S
restore K6 h" Z0 |3 Q
}. f" u9 [# W' s: N
+ N, B, s" m" r( `- r- M: ~ else {& \, R# @* b' ~9 e" l: H9 K& ?
restore
8 \4 G: N# c4 G0 _ di "cannot find pminphddy240"0 C. `* W$ Z& C; S6 ]
7 l! d. r. C) R# z7 J
" P% t4 K1 j3 {# p9 J0 W' K1 y3 X sum dx2402 w" J" O6 X3 L8 M; c% U7 W
local tempminphddy240=r(mean) - j5 h, i2 p6 S( J# K7 V- P
& ]9 K+ G# C9 r% j 2 t) f$ w/ @( O% v5 q# z3 ]
}
0 T: \/ i2 ?6 c2 ]
3 ^0 e! L6 |) y5 a; N8 R' p7 S 7 x; C2 K: a' H' \2 `$ N' o% Z
0 |& N, m! N/ g$ L/ F8 M
3 C' K5 I0 ~' D. i0 { $ g& G E& f" c% D
6 B( H/ _; w. n1 g
gen pminphddy240=`tempminphddy240' in 16 O8 e) i; I% E, S0 s. B( D/ |
( F* s! w1 Y/ n3 k' g% O ! |3 u* M" o0 E r
*-------------ddy240pminp右侧低峰值 ----------------- l! Y3 {) H: q8 H
preserve . l& n" l' F/ I; ~; k6 z
% Z5 Y. `# m3 O3 B/ c keep if dx240>`tempminp', G3 _5 W: y- y2 k! e. N
7 X% f7 `" S1 P& b% x/ \) j
keep if dx240<`tempmaxp'. v& s; ]% t: D: p+ d
- g, K% s. {( ~& r& X) I% o+ ^# k
keep if ddy240<0
+ Y7 P' e. I% N8 Z* D/ Q0 ]" A ! ~: e5 g1 m! G# D" E0 P8 |. p
gen temddy240=-ddy240$ [: t& ~7 A( V1 W7 q, G- s
9 k' a) t/ t0 M8 b) v
count
' k- b' B: Q( `+ b4 V4 m' ?5 f
* ?# I" `* J$ ]7 Z if r(N)>2 {
) ]+ A6 _0 B9 ]0 J1 z, B
. t8 ]* Y) d: S9 J9 G% o pkexamine dx240 temddy240+ W9 H+ D, l2 e$ S6 l0 Q
M: F. K: b& a
local tempminplddy240=r(tomc)" o+ H3 G5 ] w- I5 c
restore
1 I' ^6 ^2 y S! R3 T }0 n5 d# i$ H7 L/ h0 s
' F2 s. [0 S/ V" o; Y# b
else {
& E* P6 \' q. A7 p9 f i! ~5 S" `# w" G R
di "cannot find pminplddy240"/ {! s7 o3 |! C& c: i- g6 Y" w
restore
3 T/ \2 S; x b0 f" N1 c6 m* h
" X$ F% x% f1 P7 y* a sum dx240# y, \5 E' M9 J6 K" U" @8 \
local tempminplddy240=r(mean)! J+ ]" Y/ L! R) B
2 |. n" H+ w/ T W0 V; s! n/ k/ Q 8 c8 Z! b9 w* \% T8 R7 N$ H! j4 c
}
; ^: H7 {2 ~ X/ q , a4 S" w5 p% }
: l5 i o. }4 k! |
* A0 Y* O& M9 y" J
& q- C4 U% y8 c, t
& D, W8 M6 o: T* ]
gen pminplddy240=`tempminplddy240' in 1
g* [* C X- A ( q% }- q1 K, y$ p7 O
*-------------ddy240pmaxp左侧高峰值 -------------------; b A! m- J5 r5 h2 R: Q& R
8 C6 p. ]# ^0 V preserve
& w# k1 X, Y D+ d i" w- t n
/ N1 q+ i8 g2 F& T) d" K4 k keep if dx240>`tempminp'# h$ h( C$ _% [4 G3 M9 o- r9 U
u4 k6 q* P, p/ f keep if dx240<`tempmaxp'7 o- S2 m0 Y |/ j w% F+ R T
3 n7 d- \, {+ \& K9 F( x keep if ddy240>0
1 v$ ~: X; r V+ |4 L. J; `; o count V5 A5 @! o$ U3 s
! j" s( s8 }) J2 p' Y if r(N)>2 {# ?. y$ H$ Q$ T( T
! `; n- ?, V: d' R pkexamine dx240 ddy240
7 m, u7 T( X$ n: ]# [ ; y" H0 l6 d$ v8 m2 Y
local tempmaxphddy240=r(tomc) , s: f; X3 z* K" A
+ R* |& G2 t8 @. k1 z
restore! y/ l. M. _0 u+ R* _5 s
}
( I! {( j3 a+ b+ p: k& U! Y y8 |/ V6 J u ]$ ]
else {
/ b! J4 `9 Q# i' z% C8 J/ E
; m4 U+ u1 x# x+ ^- f$ c/ C- V2 e di "cannot find pmaxphddy240") O; j7 k* [" }$ o o9 J
restore
; }! q6 k4 C) ]0 M( g2 B3 h" y # h; E& |5 n$ X# f2 K
sum dx240
1 `( K# q, a' ? | local tempmaxphddy240=r(mean) 1 t4 v$ B& e1 Q' ?& }1 n7 ?$ J: l+ P
+ q, n1 r4 V! D( T3 n
3 {7 D0 {3 W* O/ O+ ]5 ^# a }
7 J1 D0 q/ d& C & z# h, m9 z4 X( n/ a, a* U4 s/ ]$ q
3 K7 z% x0 ?3 `: d: v+ m! @' }2 C + S- k, A/ J$ S- M. Z5 d$ R1 S4 F& D
2 e: U3 H# z H/ I5 a ' K* R9 [8 @. m. ]$ J
6 V9 u( s2 b3 U& N& e. h4 S gen pmaxphddy240=`tempmaxphddy240' in 1" Q# u- M# _0 o+ b+ R
4 M5 O1 t8 ^: l: Q, D0 w
8 K7 `. g A4 \2 ^ *-------------ddy240pmaxp右侧低峰值 -------------------
6 k; Y% O c. F, N1 |/ n1 s
& o ?* v; w% s. i' a# O preserve U2 B+ y T* j' z: {5 R
% k+ b% K% A% T, y. p, X! n keep if dx240>`tempmaxp'
4 W* l" l0 G% m9 {0 D7 B; Y + k( z" C7 s+ a$ T( e0 C0 F
gen temddy240=-ddy240
# l8 \' G9 Z9 Z1 e: m- P
" e+ m1 E7 i% ?) O3 Y6 J! l keep if temddy240>01 b8 f+ N4 ?! ^6 K ?
* ]6 N; e. i7 k& p5 j count
) Q" ^! ]' V$ V7 }. `0 U
- }4 ^% q% `& U/ m0 e3 n' t1 S' [ if r(N)>2 {! `: v J- b1 t; U
: E9 ^. \. @ N7 c w( ^: a0 [, i4 ~' f pkexamine dx240 temddy240
0 L0 V8 K0 m% F* q
% Q8 d5 n8 C8 q local tempmaxplddy240=r(tomc) 7 M! ]8 z4 K8 A, e9 U" v5 x
restore
5 v+ x: B: n% U }
1 n3 _( V! n* X2 G- d " ]4 H; L" e/ E- C! @
else {( _" y( z x, A' l y8 K
restore
7 r2 Q9 j6 B& R! @( X di "cannot find pmaxlhddy240"
& ], N8 y: T) B2 N; T7 H/ [9 r 5 r8 ^& ~- |# q
& ~& O, `4 Y/ l6 {8 ]1 T sum dx2401 P" m+ d2 y8 _/ L+ K% [+ E' ^
local tempmaxplddy240=r(mean) in 1
& } C+ A! S$ D " L# E! L D& h F6 w: W
& u6 ]) k5 o5 ~" q
}3 e. l% y3 m' Q" Q- h
9 w& ?0 Q! s$ |7 U3 s9 n; `
( b: v# {' L$ m1 o5 |4 H
) P9 ~7 z# z6 l0 J' h8 O. X( u3 t 7 z6 R0 Z7 F* K# W+ ~; b
0 ]( d8 `9 w1 N2 [& j
* G2 K) P1 p, i; c$ c% F0 @ gen pmaxplddy240=`tempmaxphddy240' in 1+ B% |* Q. P4 s0 X, g3 H' Z
7 @; A/ U& a% Y6 z& ~/ D
*-------------------------------------
) l7 y) c6 K1 z 4 `7 y2 J) Q) X- z# p
gen price5d=v5 in 1/20: y \5 Y6 X: ], n
: I b6 V, {& G( e0 _+ A
gen price5yy=_n in 1/20- ?* O8 W7 E" n3 a- e/ Q3 D
7 z/ b8 k* @; G9 \5 w/ o& | gen price5y=price5yy*(dy240max-dy240min)/20
6 k; G) N- K/ @
' Z' y* o% ^/ _9 H, F0 | *price5y &price5d
. M8 X2 C3 G' U! @- R; [# V4 z - Z5 J8 @1 D0 N& K* [' r
gen priceny=price5y in 1- a) W5 i8 `) D
" J/ d$ ] H, Z6 F
gen pricen=v5 in 1
9 H+ j4 } K5 A; K
7 v9 R) B6 A: L0 C8 k 8 {/ V R( [3 N M) [0 Q, L- S
*priceny &pricen& q6 ~/ I" t( V8 V, t
4 w4 A( U1 g/ U2 j# w2 H6 v5 R! M
" {1 U: O" N0 s# C; V4 o7 E *-------------------------graph------------------* F6 [+ Y: Q& |' Q! M- o# O9 L
9 _- k% H- q% l
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)
3 M3 B7 J, m$ w5 v# P+ y
' ^0 y$ z% w1 \" I& ~7 U* r* ---------可选项目----------------------& t: }; B) g% k+ B
*(spike yxis amean,lc(blue))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean))- o# G' P# h U5 O
}- q/ S; M! g+ F! R9 x5 |( t
end( ?5 |& K& w9 p, [# v) [6 B
|
|