|
|
maodeng 发表于 2013-1-28 13:13 ![]()
: d* Q, @& S# t9 ~+ r. hello 300236) u' w6 Q; A k# ]/ D, q
statement out of context
, T9 P5 R/ M: n- \( Br(119);
7 Y, m+ k) i0 u* \9 w' C6 A抱歉,最近太忙了9 S7 X: C4 @- u
! T( V; k- H0 F- R2 e( H
300236 我用下面的程序试过,没问题' c6 K' u E" b {' g3 e+ o
% I# p! K) T/ S) Z3 K
你把 D:\stock\test\source 改成你导出的数据存放的目录,再试一试
2 u- X: q8 ^7 ], t) q/ D
) }6 d- g: ]- o' F! Zcapture program drop hello
) k7 G3 e7 k7 ^/ D: Q2 V5 M1 {! D) M5 |) `: f+ m, l
program hello4 I$ q8 w1 O9 g4 ?9 B+ k+ i
3 O: p- x4 Q1 U S1 e, m# d7 P$ A quietly {
5 F* O: J: H9 ]; f( b ?$ J0 k9 J
clear( V' x4 O7 m' q8 }! k
0 h2 G2 d3 a/ N% f% F& \
cd D:\stock\test\source
0 p! t8 \2 I& d2 H6 F; |
5 C. s; ?/ P* e. G5 Qinsheet using `1'.txt
S, ^. h" s! B' {1 K
) N9 f6 a3 n- C4 b: T keep if v5>0
$ J) {) K/ c1 I% r
/ l7 I5 E5 ?0 C gen vt=_n
3 ? V$ q" p2 W# W
; l6 e; ?0 T |* E3 w7 S tsset vt
% R2 `7 m0 i K9 s
9 K/ |: y1 }: Q7 h gen zf=D1.v5
! s, n/ r- s% E {6 D1 R; |
9 Q" d/ w7 l! E' b5 n: E3 u gsort -v1
* T$ |5 Z4 d( N5 D& n3 C4 H) g9 I% a7 A0 N- }1 b5 a V- @& T+ [2 z* r: M
gen avol=v7/v57 g: F4 B3 v5 b" e! Z
/ a5 m5 I' X; e, n- G0 I keep if avol>0) z3 g* w, p y( k9 x) d' h
2 g4 A& J7 m! J: D$ O+ O: ?/ j
drop vt! D" K# A2 D& R) j
# z6 ?1 o4 T4 ~: h
gen vt=_n& X% [, Y% p* H; X' E% c
$ ?9 \/ j* g8 f
tsset vt6 w& d4 F* _% u
7 j" u8 L# F3 }% o9 b2 S" _% [8 M sum v5 [aw =avol]9 E4 P' p) l. M0 Y. m
( D9 B9 ]+ o8 t8 v: \4 ?- z* g
gen amean=r(mean) in 1/ G4 T* n! w5 O0 p% o
* P+ Y: {9 ]: s8 c4 a/ [ c * 总加权平均值 amean
* U0 N) h! X% E3 r
I5 x3 L* _/ j' S& n! ` 7 X! w: o8 X- C: P! T# ~
keep in 1/240! H; z6 w, |& y7 o. V4 ]" F0 Q
6 M( w' T5 s7 c+ i# m6 D& W8 f
sum v5 [aw =avol] l" ~# _) r: O8 p3 N5 i n: X8 `
! O+ Z& b; o# j+ \4 O gen mean240=r(mean) in 10 W3 e5 x, g' S- s
1 z5 B! c! j- v2 ~8 z
*240加权平均值 mean240
! a6 i% I0 |) c/ P! {# ~: A
! x% j; h% W, ^9 u set obs 500 y, P) F$ m+ C
7 s# p. C" `! ?! H
kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph9 i2 k% L* E% V t8 S% \( e d. E
. w& k. D; o+ F" C7 B! g
*240 kdensity(dx240 dy240)# d& n5 b, k( y6 G5 }0 I
- r0 X$ l5 V- R
sum dy240
& t7 K& j5 R8 ]& G& y
& K8 p$ X! k( N/ \( [3 X gen yxis=r(max) in 14 V* j i# [- H8 z6 {2 a
& y; O B+ J& l( e2 `
gen yxis2=yxis/27 M0 G1 r/ l5 i" s+ e
/ Y' f" c0 D0 P) R2 T9 M: h- a
*yxis- }4 ]+ _( e$ E/ d
( q$ z1 C# q2 q! o/ Z% L
gen dy240max=r(max)
" x" X/ ]: S+ C+ T5 F1 {5 \ - w% R) k, G- \5 v: ]( ]" Y$ X
gen dy240minp=r(min)/ m5 M! f+ o% }6 o
2 K: Y9 `3 {8 `. i: H9 S gen vtt=_n
+ Y4 x* A) u2 W3 z( T3 H3 {1 E+ B0 l. r8 N/ F0 W
tsset vtt
/ H& m7 J) c' c) e- T+ E+ J. a# G1 f* X% f% X2 a
gen ddy240=D1.dy240/D1.dx240
. I$ d& [) X; V5 p4 [6 H. j- _ ' g$ k8 ?4 ]5 t; j
sum ddy240
& p( R) W( m8 U8 H D2 D ' H& D! o- ?# p! Z, w7 [
gen ddy240max=r(max)
* M2 v0 C" t- M' B- y* ?* ~ ) B o5 s2 d2 {% h6 Y, }
gen ddy240min=r(min)! D7 N+ e, d7 ~4 @
2 n( P8 l4 \( l; h
gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)4 _9 Z q9 |( K8 k$ ^4 s
# u" ?9 Y; B" ` sum ddy240g
/ `( Z& }( _+ `9 Y6 p & H8 U. ?2 i, \) G3 g1 g5 x
gen yxis3=r(min) in 1
& J7 N, B% V- H9 b/ A( K* g5 c & U( j0 U) F6 J" Q. X
gen yxis4=0 in 1
L/ `4 M& u: ? 2 c3 [" S" ^7 [" x! @7 F( k
*ddy240g 0 F% R" K6 M0 f3 c0 Q5 u7 u, w
! u! H* _, S. _# l
8 ^* n* m5 I; e/ }$ M preserve
8 n( ?( G0 |2 ]1 a* {# g1 V! ~8 \
' J* _3 p4 Y7 S sum v5 [aw =avol]; z2 U( K( P4 N ?
# N: q' M' q4 |8 O1 i keep if dx240<r(mean)
! {! g& J" E. ?) \3 I 5 V. D7 \/ n* K& R1 T
sum ddy240
( [* ^6 m, Q& `
; h% e& |. q, c; u5 G3 ]$ u2 v if r(min)<0 {
; n, H* Y/ y- k0 Z$ v' f8 ~ * G. ]) B3 z- I8 d
keep if ddy240<=0
. s! [' v9 r/ Y- w
7 K1 t+ b' n3 a" v& [5 R$ N count
~/ |; e y: f5 Z2 a u . j0 o1 L" Q& P/ ?& I5 d7 n
if r(N)>2 {
6 l) V" P3 s! L* g" l$ n
8 y9 @4 E' i) N: ~% e6 }: G7 \) B pkexamine dx240 dy240" Y6 U4 Y1 L+ `. ?3 y& F/ U- f
0 z% i7 k J: \; S local tempminp=r(tomc)! w) s, u, P( ~) @% M. d& O3 j
restore 6 v& h/ n6 b# ^1 s+ r
}# @/ V g; }1 J u; x* d$ [
* I( j5 {. P, e else {8 q$ h1 I! u5 P& Z
; _4 H/ a/ Z- O
di "cannot find minp"* @ Q. Y g9 B& B
) N, @5 M, b) v' {( g: F
restore ! r" s- U$ k5 D6 {+ n2 q. e
sum dx240
5 Q5 Q6 y/ n& k0 u, C | } local tempminp=r(mean): ?7 y+ s4 W: Y; V: ?6 i
) ?/ \3 _9 a* Z) c' k a: x @& ]- l }
( k; X% k5 |- Y* V* w5 k0 E }
1 F0 r/ E) x1 ` T' P2 I else {, w( V0 r J+ J2 G
. g6 @( Q9 v' M2 r keep if ddy240<=r(min)
# L1 T4 ]$ h5 C2 J# V3 X
1 v3 r( ^$ Z1 A- e2 i6 B1 E9 |3 _ sum dx240* X" z9 K$ D ~ c5 I
& g# A' L& R# d" `% U }" t
local tempminp=r(min)
2 y% X( U( d3 }# N: |( u) i restore % c( h3 Y5 t2 T) a* }
}
* [3 V) Q# [' o4 |0 q: A, C; E$ ~/ T5 p) Z+ [) T* _
9 m3 r1 o7 P6 M: w0 ^9 E' l) I
! } Y7 A5 t3 A! H0 B gen minp=`tempminp' in 1
- I' o( m4 n7 W1 N) ?# F/ [9 C *240 minp
* |+ s$ v |' q3 P# ~* i- ]6 R( }
5 K, c# Q( C) c$ \ V, \
( h7 n, x9 u+ ?* R0 g8 {
* x. t$ P0 E8 e) n# E( E preserve 5 u. ~5 Y/ X3 Q# V$ U5 G7 L) E
- M/ n" I" u& I) m8 G' F3 @) Z; J sum v5 [aw =avol]# _# R; T9 p+ M! |9 l
: D* x+ V. T$ D8 w' _ keep if dx240>r(mean)
# s1 m% h- b8 T, T% N8 X5 j! @ 5 M% L: g' r2 ]( z
sum ddy240! C# i; B8 K4 `5 a8 Z) A+ v7 w) E
- _3 } `! @# w if r(max)>0 {4 T a8 K+ r& V( Y
6 u! z; w, K: a. m
keep if ddy240>=0
' d* t/ q5 Y/ C - A% O2 g8 i# i
count
+ K! k1 ]7 h, A4 Y; i ) F+ R& N: U: |$ c/ h# Q2 w5 c j
if r(N)>2 {
$ l H+ Z9 V% ^
1 N# q7 l- [' O pkexamine dx240 dy240' v! S) f. Q1 e/ h( U
1 _1 Y9 E* K9 x, U1 g% P local tempmaxp=r(tomc) 4 Q, \* {0 T4 R! ]5 V1 e
restore ' ^+ X( `/ O* d9 m4 n X
}8 l: o W( b8 J
1 u( i. v ~. \
/ ?' t5 m n9 v3 I) i l
else {+ L( r @) {$ E2 Y, T$ U1 k' o
restore ) A4 D- Z1 C1 g y' r- F6 \* F
di "cannot find maxp"" ^9 a; N& Q7 p3 a4 A; O8 h
( s2 J/ o$ Q4 w: m- l2 P $ w- M t; \2 U2 \. G
sum dx240
% P" a2 q4 x2 B! M- \% _9 n0 v local tempmaxp=r(mean)
- y% H- }/ ?; M
# | T2 s; w$ B }' ]$ ?7 i+ L" i
% k& U* Z$ ^+ B2 ]$ n: z# O1 m }+ { ~) s0 ]* J1 l5 Z
2 H6 s, |% {# l P3 N
else {& E) y. r5 X* P- ^1 g3 }, Z- G3 D
- e# [* p" U2 ? keep if ddy240>=r(max)6 N4 ^4 R8 @! o$ u T$ x. \
# V+ o% f, C1 h, p( ?' W
sum dx2404 r' A& f9 Z: D" F8 [7 O+ b1 ?
+ \. N. i& U( Y: i3 c( [6 f local tempmaxp=r(max)
6 F+ Z, _. ?5 a- ^2 S7 h restore
# |% j3 Q/ p7 m; z2 U$ ?( X7 } }
! e0 `- m2 ?6 k; V& N ! o: g, ?. q4 n% I' D$ J
- p/ d# i6 r+ w1 Y$ Z. P
5 I4 T% i) }+ \
) }; s/ l, F) I& y9 f
gen maxp=`tempmaxp' in 1
# L0 X+ |- Q& W # ?1 b( d( c1 M1 P8 j1 H4 W
*240maxp
9 r: P K% P% G: z3 M: \+ X/ q& e( ` , p7 O/ i9 |, {. ?' S" Y& l
% O9 s* n' Q- l8 M2 ?5 r *-------------ddy240pminp左侧高峰值-----
% H2 d3 j% s) M; p% } . d! K K0 [+ E: l) _) K
preserve
" E- Q; K" `1 R: B9 y" ?
2 k" B9 `- p8 m' ~9 g4 C keep if dx240<`tempminp'
2 t# Q5 {6 h' H" W5 a0 S
' k% s+ l, n6 n% J8 \ keep if ddy240>0$ U3 n2 |8 y& X. O5 _
; E$ T8 F9 E: c2 A' s$ b8 Q/ F
count
% H& x( s5 r5 B6 A3 q& }
l3 f. \6 m: S3 z# d) v if r(N)>2 {3 ~ J- L9 ~' \) n$ }1 M# I$ Q( y
6 m* f- ]/ {8 z/ m
pkexamine dx240 ddy240" B% A( Z- P: R1 Q3 A% t& G
3 }4 K+ r8 m' ^9 P' V* o4 F
local tempminphddy240=r(tomc) , }" c. K% E, h, _' \: u$ s
restore
# ?! ?' s" i' v5 s }0 N8 R0 V/ E. o/ P7 S1 \+ F2 O
1 W' v* A6 Y' G1 k( L# u else {/ @7 e3 v. p$ f! s% P6 F6 G: a$ X
restore ; @0 F6 F& B- {) ^
di "cannot find pminphddy240"! ?8 o" e* y/ t- o
1 k( j' a: Q1 @0 Z/ w & D% B* W) s, m4 z. b& E
sum dx240) I+ _% t* @5 o$ U
local tempminphddy240=r(mean)
Z' O+ O _: g/ o 4 r# G3 z4 Y% v& U
) `2 D l" {/ g: }7 [
}% g: I7 {$ C% y
5 Y& E% E9 G3 j$ t9 y% Z
0 c: c& F! Y! M, \5 a4 e 8 C) _0 |2 L2 I# R" Y/ [2 C
; u7 V- \( |! i8 w! u$ `
, n% y" W& A @( j
1 V. j, j$ b7 _1 K6 v- _9 ]1 i3 j gen pminphddy240=`tempminphddy240' in 1& \. O! p5 f# l
1 `5 `$ V9 j& R# T! ^9 `3 j % i8 S4 ~& [5 p9 g
*-------------ddy240pminp右侧低峰值 -----------------
( q, b; H7 h, g! ?8 Z preserve
# n' Z* _$ O5 v4 p2 Q6 i % n6 N- J3 k3 r8 C; G
keep if dx240>`tempminp'
, m. T2 `- F) J7 q/ c. r1 c # c. x; D) D' Z" B% {- d; M2 q
keep if dx240<`tempmaxp'( b! _$ \9 m) J$ ^: v$ g3 w& E4 J! ^
' O/ {: u. D( Z$ P
keep if ddy240<0' v0 f2 F6 x( C6 N- u
+ `6 B+ f. c0 T. n6 A0 ]
gen temddy240=-ddy240) \: Y0 W4 q. ?. t$ u
# R' c6 q! C: D0 D! a
count
0 r3 k W6 ~. ^8 C7 ^; J % E8 x% i \% x0 b8 n
if r(N)>2 {
! L# \, `5 B' N4 B
" t& G& h- k. o% v pkexamine dx240 temddy240/ ]0 L2 Y# e3 j' f. T
& |, \& P& h: v& \) ^ local tempminplddy240=r(tomc)9 q9 g+ q) P( W1 t+ A i
restore
6 t" ~7 L8 |2 x% A; a }
, \3 r; f( M- J, K3 O+ r , V# u$ j2 y" o
else {
2 b9 d6 F* ^: G5 `4 r, H) ]% | & ^4 G; h: m2 Z& w) p
di "cannot find pminplddy240"
+ a* g' R% G3 [ restore
3 m+ i0 e! T- B Z8 k6 d0 x 8 G5 g$ G5 q* ^* B, ]4 _% Q& F( _
sum dx2409 O1 y9 G, g1 y7 G9 b+ ]
local tempminplddy240=r(mean)
) c( h% X( W5 [: g8 T6 h( L
0 A, i+ n! |$ |& m; ~ 7 f2 N: Z* j8 K6 m8 A" B, T
}
( d$ _" s6 v8 Y7 h
) \& ~9 ~" K. f 7 @" Q1 M4 ] {: q$ d- B/ w
. x1 J# w |& I
6 L) [# r8 |+ P6 k- D- ]- V - l f; P* Z& g
gen pminplddy240=`tempminplddy240' in 1/ G! P7 }% |" h! Z" G- a
! r- w m4 r. N+ L) E
*-------------ddy240pmaxp左侧高峰值 -------------------
5 l. d# |, J1 V$ {' | " F I$ n. \. U/ }1 Z) Q* M. J
preserve
+ x6 Z5 n* f7 `' q$ O2 o
6 S, ?: f( a; `# z: E: ` keep if dx240>`tempminp'
0 U4 D9 z5 q5 o0 G
+ a2 {5 N( B2 M, [" Y8 Q keep if dx240<`tempmaxp'1 ^3 {- a9 y( S8 ~, B, B
F8 N3 a* M% G* Q+ N3 F. T keep if ddy240>0
+ ~6 ?# z0 }6 t$ Z0 c8 L count5 U5 i0 |- I7 @' S( ~- H
4 N' E7 Y E6 }5 T1 m
if r(N)>2 {
. B% Y6 C% Q5 J E! J. y4 T 1 n/ y3 V. s& ?& r' b- X& W
pkexamine dx240 ddy240
7 [' _& T# O+ ~0 Y" S6 F7 @
" a3 w# E% W- x+ Z1 J6 ^) R# { local tempmaxphddy240=r(tomc) ' ]. Z5 T. ~9 k0 ?4 n% G
+ S. m" l% S% T- E0 X% f
restore* g! S7 S. g# W7 ^$ o
}
% f3 G$ W: x" _9 l6 z r
" G9 X! t+ [ E7 r else {( A7 E) o6 ~; E0 Y6 e+ D
: K) v2 @' L* O- I8 B$ ~$ _! e% Q6 m
di "cannot find pmaxphddy240"$ ^7 l& N# @. t" G8 T2 y
restore6 \9 R& P1 A s/ ^
4 X# t3 p; O- J* g2 X sum dx240
( J! K) J5 a, n J0 S( \ local tempmaxphddy240=r(mean) : y4 o# `& C, @: Y
1 r4 K$ e8 V2 q# Y0 @" C% K ; N# I; \/ d$ U6 z5 w/ Y( ~9 B7 U
}
- D0 r: _. U$ F# v; r + X5 \; Y- Q# [: R
# q! O" U* `9 k# k" {6 v . ~7 p0 _* U6 o+ L
' P( J# o) w U9 Y, Q# G
$ @" ^9 ^( t& `% {, ]- Z' l
9 I) M) M- m+ d. g/ u0 Y8 k gen pmaxphddy240=`tempmaxphddy240' in 1
6 a4 L5 V$ T. ]- n: m/ F) J4 b ( R* p9 l; O! T. x
4 b3 }3 ?, d) ^0 H% n8 H/ Z0 M* S! N *-------------ddy240pmaxp右侧低峰值 -------------------8 K1 }% i) W# Z' ^
4 S/ K# ?# O: X! C" g
preserve # f$ y9 v9 \' p. C% k6 O* m; l% Y( B
; D+ Q, M2 e; B
keep if dx240>`tempmaxp'/ y" C7 z5 H" o- a9 |
$ a% t- E5 V5 z( F
gen temddy240=-ddy2401 y h$ ?" w2 o( }
V' K7 J& }/ \% `
keep if temddy240>0" `, A% l4 a N9 b+ {
2 Q g* C z5 D9 l7 E
count$ L7 c, R5 [+ P! U4 f3 P+ b
+ r; g; a9 P7 ]3 u" }% L if r(N)>2 {
( I4 K& S+ \1 b4 a% Q! K H$ L" p! K. ] % v. ` y: M8 I1 K
pkexamine dx240 temddy240- F. N, L. i8 u& E6 k
1 @: b4 U: [2 y( Q' R) i local tempmaxplddy240=r(tomc)
. v( y- ?# f$ X5 U. K restore6 y8 G* H# I' Y" x3 a
}
: F6 L/ f2 `- d) \
9 j0 `9 f7 ]; a5 C else {" V$ V" X% ~8 F
restore: d: N: `/ {* v8 A. N6 }
di "cannot find pmaxlhddy240"
% E9 H5 s& F& Q6 M
/ c" S' @1 \0 o; \
5 N3 c! n2 [) O( V! d3 L* I1 [, H sum dx240
. i8 }. n9 v( H' {' Q) h% P local tempmaxplddy240=r(mean) in 1
/ o0 v: x8 Q P# L 8 q# n% y% D3 F& k" v9 X
# @ a1 A" i0 l1 w. N5 E
}- K2 y9 g( V/ K! G. E
1 K* l9 R8 c0 A) L 6 U+ @, \8 g5 z2 v2 k: y! f2 \
; S5 E0 p8 R/ v& k& ]' ^
7 R3 k3 `+ e4 d6 }0 @, b+ q& X
* e; {( w. g4 I. C
# {- w. C) Q$ t1 B gen pmaxplddy240=`tempmaxphddy240' in 1
6 P; k$ j6 f$ F; M9 h ( `8 F9 P! w/ o; q. {, ]$ }9 F
*-------------------------------------* T1 [9 K( i# o9 A8 X
]7 |2 I6 ?- B5 p; j0 f gen price5d=v5 in 1/20
2 ~+ P. s; L2 a! }/ B3 o
. t& o+ h8 {" L+ h gen price5yy=_n in 1/20' @/ N* t, y9 f: Q
! [7 A8 Q) G- j- k6 g. w) g) x6 T
gen price5y=price5yy*(dy240max-dy240min)/207 v/ M% F6 ^! G+ T' ]; A, r
& Q" S! N, c+ F n7 i
*price5y &price5d3 W' n& H3 m- K' S* n% ?
& y% Z& U, V8 N9 L& I
gen priceny=price5y in 1. x" A! t A& B8 s* W* C$ o
7 u9 s" D3 E5 P2 B# A) n
gen pricen=v5 in 1
" |8 Q' C# r6 m% M/ B5 v8 {3 o0 B" w2 C1 i+ m
! a! @) r8 E* k' z: ]+ f. D *priceny &pricen8 Y, e- V8 V) f
. r6 D9 i& I+ y* H
* |4 w2 \/ v! |$ c2 J# a *-------------------------graph------------------
) [& f4 h9 e5 k8 d3 O) O& H1 K% n* J
' j; X! {( j; D8 o" s4 i8 V% G' [4 A8 d 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)+ `" ^' o0 ]% d3 h9 A$ S/ C
0 D( b' t9 c6 n. v# w* ---------可选项目----------------------
$ E3 R# `- m% B# K$ e' t*(spike yxis amean,lc(blue))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean))
; y' s2 J! F4 L, \7 H0 n) D) p# p}
+ p/ m& f. ?$ E( m7 rend
4 E0 a6 s3 k( _& [" k: d* M! ]; ` |
|