|
|
maodeng 发表于 2013-1-28 13:13 ![]()
2 X( i1 D7 v7 G. hello 300236* ^+ Y2 v+ `: }
statement out of context
& g* m3 h9 x, m# n7 tr(119); 2 X$ ^+ J( M0 r0 [
抱歉,最近太忙了
* T# W" j, d. [; p# }2 L$ ^! }8 k' D! |$ ]8 A
300236 我用下面的程序试过,没问题
# h, [& N5 c+ g/ k2 P; l! H/ q
! O0 c' J$ G1 z3 h# X你把 D:\stock\test\source 改成你导出的数据存放的目录,再试一试% r3 \1 {8 A5 r6 z% J4 {
, Z: G1 _- p" W: Q$ [' Ecapture program drop hello
: a# M, u+ I3 z: l! z/ u' H& K+ q& m! M) g, N4 V
program hello0 s/ U2 F1 E3 g5 f0 x9 A" a4 T: I
]9 x2 C: E Y$ r quietly {
2 L+ Y% Q3 I1 I0 O" `3 H @3 s. @" Q8 G% K. ~: V7 Y
clear: U) A, l! t" y! X+ [$ Y2 `' X2 ^
- F) @2 [, }+ T2 W; e3 C# B4 Lcd D:\stock\test\source0 x& y' Z* j( }0 N8 Z
* ^; { {& a+ z5 Q( K
insheet using `1'.txt" B5 P9 A" ?) T6 l/ X
* \ R$ p! o. j9 Q0 M$ o; G7 ? keep if v5>04 T; n2 R$ M5 u& d9 k- ^& B; c5 `
. n) l. J8 I" G5 f/ p) {) F/ p$ Z: H
gen vt=_n" l! m; O5 w6 ]1 t/ K9 ?
2 @! ?) N& [- L" U) Q( E! ~* f" J
tsset vt; L" C( G! a6 o4 m$ f
; M; U' e9 a" J$ f1 G gen zf=D1.v5
7 y2 O5 l0 C r/ w% T2 j* l! k6 o4 P5 o: l( p9 U
gsort -v15 B! H5 a* T! v
- r# E! V7 `; v @ gen avol=v7/v5# _/ D9 h9 a! y
% M* r) t0 D# ^5 R* b8 b# u keep if avol>0
2 }$ b- L/ H4 k' K
; P4 F3 Z( ?: \2 W5 a drop vt3 O# V7 A9 d' e( n3 O: C7 b# `+ ~
( T3 I: V2 O/ Z% f; Y" t
gen vt=_n
, F2 h5 m2 E- e+ r4 D - o& J P; K: `) J3 s4 F0 F
tsset vt
, b `7 b3 [* @+ Z
3 M4 m% p2 C& u- C2 F sum v5 [aw =avol]: u: c( J( G- t+ D
( ?! a7 Y0 _% o gen amean=r(mean) in 1
N: q& L4 T3 J: m; _5 F! [3 j
- q* T+ {6 F( c d* o/ ~* e J * 总加权平均值 amean# a0 d' {8 Z" i: S
0 r: m8 T! T8 @9 X/ Y; w ; ]. g8 y9 \* n$ \1 X3 L. I
keep in 1/240
7 _" j& m6 @' a5 }, Q+ |, H4 K" @5 z; G/ q+ P' `; X
sum v5 [aw =avol]
3 R5 s9 Q6 X0 e0 |2 Q z+ M2 L) U& L9 p! {- p5 L" l
gen mean240=r(mean) in 12 `# g; {- ~4 X4 k, g
E1 e3 _ R7 Q7 Y
*240加权平均值 mean240( f* @- D0 w! Q3 \- A
$ i. a* }' X9 Q G set obs 500
- p. n# D4 r: x1 C$ b8 G L/ x: q) B
O7 J2 x! O3 W4 d% s% I( |% | kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph
' g) u+ E" I/ ^% {; O9 _( b* s
( [2 C4 o% [% m+ I *240 kdensity(dx240 dy240)" h) @3 j. U1 {) j
/ C- t- F+ S2 o5 A0 j& }
sum dy240
u2 `/ I% b# D$ s0 h4 X
* i' I( @$ S! e5 A8 A) h gen yxis=r(max) in 1# c( u1 n! t9 t$ y
. u1 Q" Y9 _7 z# M, Q$ }8 R
gen yxis2=yxis/2
8 ?' v9 Y8 ^; U) O/ Q2 S% H* E 4 p* Q. g: Y4 O2 Z* y6 n2 o
*yxis! B4 w6 Y) z$ W( o& B' q
% R2 L5 X& U& ?8 s, f2 R gen dy240max=r(max)
; ?+ c4 ^, |& t o3 r8 f0 s) ?& t; Q ; Z% c0 q# W2 `
gen dy240minp=r(min)- U U" k6 N; q- Y2 h1 M' _. o( h
4 m) g" ?3 R: d q' k2 y) C
gen vtt=_n1 `8 ]) o& F; @' \& N* i
9 w, A( N; R0 |8 c0 c
tsset vtt' |1 F+ `7 S) K9 E* W
" I1 i$ |7 O/ a3 `0 y# x2 O5 C1 O
gen ddy240=D1.dy240/D1.dx2401 [( I+ M& T2 j7 Z
% {3 i2 E5 M8 p. z8 U/ I
sum ddy240! ]! s, A+ _) D* X! h7 n. D! }
' ~6 U& z4 }+ }& O! Y
gen ddy240max=r(max)
. z6 `* U# w, P: t6 E3 ?
Q P# t% y B* o# C9 d+ U' g gen ddy240min=r(min)
- [" f5 z" ]. I' N: b6 h3 b 3 V$ a% v4 S; j" A
gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)
$ T& G; s) p/ g/ U& _
" Z) l7 e8 S+ |" n; B sum ddy240g. m( Y* ^1 |3 z" [1 t6 f
! D* Z6 ]- l0 a+ k* ~
gen yxis3=r(min) in 1. K! k4 `2 @' O+ A0 ?- i
- D# a0 N) ~) Z* O- o b+ o( {
gen yxis4=0 in 1
2 t2 s3 n2 l9 x; D
: W' S% n: _* U6 t4 p0 G *ddy240g
3 f& P6 d5 z2 t2 R9 Z \
# U' _9 E' r. f$ n# q, M 4 b* M( ?( f) y
preserve
) s* _/ |* L9 q" |6 r" Y
0 p/ y+ I/ d3 ~7 D9 B sum v5 [aw =avol]
- I; l1 m" ~ l3 I3 k- C - d1 m4 a$ ~! C' g0 k8 k
keep if dx240<r(mean)4 G# B6 `1 I. g! U9 c
& e8 n1 S3 n, v% F+ L+ [ sum ddy240 u1 b7 J, D1 S# h7 @+ |
8 k3 H/ u9 ^2 h
if r(min)<0 {
7 C7 S- _ {$ Q ( ~) t9 ~ U7 { h5 X {
keep if ddy240<=0: J2 a' [4 {9 P* ~, _5 L4 p
& r( x# z4 q d# o count
) }, C% H8 @ c% m; R; G
, b9 T p( {' J4 ` if r(N)>2 {" o& f- |4 ^& B7 e! C
5 s1 [% I/ R* |5 c+ u pkexamine dx240 dy240
" K8 S% H& _" I: V/ I7 `
" G, E! a" y" G# J. B local tempminp=r(tomc)# z. S* m( f: {
restore
\+ e0 Q/ J6 P }
. p* v- A+ _' h& T, P+ h
$ P9 s- D4 _5 n- k0 {6 u else {
+ ^9 n$ L/ u: @) R+ u 6 p6 Z: H8 J$ ^; f' j
di "cannot find minp"" R* W1 _* z4 O
, u& o) q4 C4 R' ~
restore ) C2 v2 }/ a+ K' h4 P+ P
sum dx240# a& L" c! O X2 I& x" B# x# y. M
local tempminp=r(mean)
, _ Z; n5 e# q/ A- R( H% o3 L 9 L: U6 K# G- ?" v9 C) V
}
5 K% o" R1 E" D% D Q/ m }
1 f) {+ r& w! R8 Y9 b# a else {2 u0 f9 b4 o) {% O
3 z0 N2 R. }" z
keep if ddy240<=r(min)4 y; @ S" s7 z( B" p% L
9 U3 x3 B* P( H6 `' `9 A+ x8 O7 N; @ sum dx240
2 q' s6 E: T5 v# g; E4 ? 1 }2 n2 q$ u: q& V4 M6 M
local tempminp=r(min); a) t3 ?/ X% i& z& I! u# @
restore 4 z5 F$ r$ @5 `. A: _
}
4 X7 Y; t3 S% o, P' H/ o! W0 j
1 \2 A/ R) \$ _0 G
! z0 T. f$ R+ S# s$ ^" D5 T+ l; d; ?: a; ~, N/ [/ |) M( D& r
gen minp=`tempminp' in 1
% v; `' ~5 }# D- J n *240 minp2 h% A2 N5 z% H: |) O$ W
1 x; Y- t$ P$ C/ r8 f4 c$ T) h0 Y9 x- B/ c- B
) \6 w% ^4 j$ H R: A$ g T* ^
preserve
! o/ R; O2 t7 r: X
' r9 \" m6 q! L: u4 I/ E% n$ N sum v5 [aw =avol]
0 B6 S4 J* @! \( @: ?8 ` 8 S, {) Y0 i) t, [/ k
keep if dx240>r(mean)6 U9 ], D% v. c# A* a9 @
1 W. Z: s4 A! M3 j: d sum ddy2408 E2 s3 B/ P9 M0 f) [0 l
. y1 o0 a5 \' G0 _1 S D+ K$ D) c+ n
if r(max)>0 {
( L" L1 l$ g) T2 ~ # S9 ^/ A! j w* E
keep if ddy240>=0
% e* A7 ^: {! q- | 4 q4 d+ R" F. K( c# [" r
count4 d3 q* J! m, t- {8 s
6 ^ B% O q9 d/ ^( i, Y if r(N)>2 {
7 O, j- d f D0 ` ) m. w/ W7 F# E
pkexamine dx240 dy240# ^3 d( P h2 O4 C
0 B+ x: t2 O6 E; ` local tempmaxp=r(tomc) 7 ]7 N+ s+ Y" T8 y- |7 m& b( S
restore 4 X/ g- U8 L1 ?+ ?$ p
}
* ^( Q8 R6 a6 ?1 @& W
0 x; d* J1 {$ o9 C' T ; m {. q" x* |2 S& T1 T2 k5 w7 D: E
else {9 d) p$ U) k4 {; P
restore , p3 ~4 c% l0 U0 X9 o
di "cannot find maxp"# R; D9 L! E* a7 ^, @& N/ b
% Z6 z. Q- @& } ; u3 F% r$ d' ^$ w3 u9 m
sum dx240
8 G( h- v& W. ] local tempmaxp=r(mean)% w+ p/ h/ [) H/ l; C3 b" ~ h, ~
0 {3 p% O4 L9 Z }
" \8 }+ [0 v& m, j$ W ; Q/ y. S1 z; E) M( f0 T
}& H9 y4 q3 G4 ^ S+ u0 W
& O1 s; X: c( i) H
else {5 {/ y4 K: R+ R+ L
) K N3 b* N0 }) e/ h* t keep if ddy240>=r(max)
5 E! r/ w1 P5 ]4 |5 _. Q2 p % I$ o. n. ]. @
sum dx240
7 D- h; M4 V7 W( |/ M5 c / c! |0 S. {# m; O$ Q4 H
local tempmaxp=r(max)
8 D# t" c% j' o! Y/ \/ K" z restore
. q! ?8 B) f: |1 X5 s* A }! q7 p7 e4 V$ H/ o3 ]9 K& n5 F$ c
: _5 h, Q* I/ W# W8 ^
4 ] [1 n- N7 }( S- C+ ]5 u & }2 z0 l3 V6 X
& ]: q. U' y- B$ V& ?$ K1 c gen maxp=`tempmaxp' in 1$ Z/ w" Q' i9 V8 m9 t
1 E1 M0 D$ j( ` *240maxp
5 ~6 r/ d% Y4 O$ n
# T3 R4 a5 F0 J( d, n9 u7 M ( c4 T8 p7 z1 m1 P$ ~
*-------------ddy240pminp左侧高峰值-----0 y$ u8 C* J2 k, Y. O
5 C& f- \# y9 B$ A+ n: u8 l9 A+ W8 ~2 ?
preserve 5 q) C$ J/ k' p$ M9 N; o$ P4 t
6 r! K+ E- p9 s# Y3 p- f keep if dx240<`tempminp'
) J' ^) f5 F1 U* g' C, b+ J# n1 w
4 t. X/ X! ^2 Q3 L O4 P% \ keep if ddy240>08 H5 e3 \ T4 E: A: L& _
`1 A& B1 S7 q3 P: A$ g
count
. R9 Y Z4 a! R6 I$ N7 h j% S # [. S8 U0 }& i, Y% O! j; n- k
if r(N)>2 {9 i% z7 L3 P& S! l
% [ n# W6 j! }% t: G pkexamine dx240 ddy240
( G; b* q4 Z# E/ e3 Z1 l( j & s* v6 }! y3 @3 y, Q7 N8 e
local tempminphddy240=r(tomc)
3 m- Z7 G- N" ^ restore
4 B& T% L3 n! ? }1 t; \ z3 S6 T* k7 Q, i
- _" W7 k! M2 Y( ? else {- |. a6 \7 r: `2 Y; j1 h
restore 1 a# k4 G5 ]8 n) |! \
di "cannot find pminphddy240"
8 X4 X4 X& \+ I 5 a+ I1 g- r- ~# j
: m, V# {8 a' f' s- n sum dx240. Y3 m5 d4 n! C8 b6 t
local tempminphddy240=r(mean)
; E& ?# M# z6 Q6 c7 q/ l- i
" s6 i$ U5 t$ q3 J) Q B 7 F }% a! x, _2 U9 ?5 T* f& K
}
: k5 O0 t+ q$ {0 ~$ A: o 8 P3 A4 D8 o$ R) K! j0 n
$ ]& y+ ?7 q4 Y% Z& n3 u4 m2 D) J _
1 P' t, w- ?8 v
6 E |' M8 k' g3 B
3 q8 D" r O( G) p- v$ X
- s6 c' A2 D4 w! s- p1 E gen pminphddy240=`tempminphddy240' in 1
) Q2 V- h- m* [* G7 f3 T& a " a! C0 L+ n( Z+ s
' b6 M' ?2 p, r3 L; \ *-------------ddy240pminp右侧低峰值 -----------------
+ L1 L, B3 l9 |) k! H |2 G: M preserve ! L4 X8 @2 \- E# S( E2 H; ?/ M+ l) o
9 `7 C+ H0 ~. P: X. E9 r) e
keep if dx240>`tempminp'
) `; l% h8 {4 X$ ^+ U- j. X % r8 Z N" O; m- y
keep if dx240<`tempmaxp'
+ X! k2 }* t4 m4 o/ _7 U1 m: ?9 v
5 [( d& L% a6 d( ?8 F: ^2 R# p+ M keep if ddy240<0
4 k: u( }1 X1 D1 z
+ g2 t. v, X/ G- k* _/ q: y2 d gen temddy240=-ddy240
1 |. f0 O, e* J. l6 R
8 F# X+ b. P& ]6 F* o& j1 F count
$ |8 Q9 d% B. Y, O9 B3 r# B
+ R- _5 i- j+ f/ K' U if r(N)>2 {/ p5 R" }$ Y% D7 C$ [
( z% k L1 C% o5 Q0 U: ` pkexamine dx240 temddy240
" q; z! {7 M N0 l) J 9 y, U% A( z4 h
local tempminplddy240=r(tomc)
$ Z) J+ z8 y* K. I+ |* @1 Y restore# a% z2 f1 _6 m! R6 f6 x% E9 D( U
}
; \; p8 A8 r/ z7 Z - s+ ^: b' j8 w" g
else {$ v1 B( d5 F5 {' S
& `' b7 N4 {" |; Z8 T. B0 A t8 c di "cannot find pminplddy240"8 o5 h! c: H" T7 |
restore2 o: L* @& e2 o/ N$ I* N" ?
# H& V: Q9 S% G5 K: d
sum dx240
% C4 w4 U4 B' P- F e0 Z local tempminplddy240=r(mean)
3 L/ j! u* q" N7 `! ?) U0 x
' w" Q5 K& k# d
1 R4 K7 i! k1 h0 t& ~9 A( p }; O# E: m: E' L
. N: i& s* O- s. F ) }' q! y% p# o) d5 L& ?/ s
# I! _, G- w1 h" t0 F 2 H" b' t; v5 E M; D( P3 g, r
! p9 w" e, y% R/ P8 U/ r gen pminplddy240=`tempminplddy240' in 1
4 [) G7 O! N7 E5 t 1 d4 M' m) z# T8 u: \
*-------------ddy240pmaxp左侧高峰值 -------------------
) O0 ?% P& Q: }/ T( D) H/ a ) w# U* v7 ]; `! F" J
preserve ; R6 ~/ H' D( u6 c
6 X9 G- R4 r) P3 v. ~( U4 | keep if dx240>`tempminp'
! X. N" C: V2 K+ i8 Z
& R* g& j6 ?- `7 i% N8 u+ p4 z keep if dx240<`tempmaxp'
/ {% \6 d" A( _5 b- M3 d9 m, o & k. R( L; ]" s C# h0 E+ N
keep if ddy240>0, [$ q4 y& I4 `. m' ^7 m
count% S: _% s" A- q4 F7 a2 ~
* l8 m2 E3 `% D) u if r(N)>2 {
" ]6 K! k/ E! x5 M( C1 J3 `( A. Q' g
) O0 i7 J5 w( r! G! i! Y9 x' E$ L pkexamine dx240 ddy240. p4 a9 R* E, p
7 |) Q" ^7 J( k
local tempmaxphddy240=r(tomc)
( `9 }8 a% q' J6 v: v; h - u; y/ P6 v. q6 k5 x" y- {, G
restore, q/ N9 m" S! \1 W* a5 x
}( x r3 m+ E8 t( }2 M4 Q# u
4 Q9 o0 r. d/ A else {3 C" K4 D+ ^3 {- Y Y2 G, S
$ Z: w$ P$ f; f# i6 M/ P; n di "cannot find pmaxphddy240"' [+ r: e) @; Q2 X1 P5 `3 [
restore
$ i1 C: @: ~4 ?+ a) R' `
8 U5 P$ h0 H& V9 k sum dx240
" o/ Z3 Q% x/ ~, l local tempmaxphddy240=r(mean) 8 N6 X0 s+ e5 X9 \+ C$ z; n
( W8 b+ H: ] F
, |) g+ g7 v7 E: d& U3 O) s; G! d3 J/ M
}
0 n' ]0 Y$ @, v
$ m6 I% A5 R4 J1 o7 u1 q0 O % t5 ~, F. w$ n& x; n& a) ~* P
8 t( _! |% x5 s7 U5 F ; M h. |& k& y( M* o( }
2 h6 ^ |/ J6 B% p
- n& B H$ r$ D8 z D gen pmaxphddy240=`tempmaxphddy240' in 11 Q1 I4 q$ j# C" A) a7 `; V
0 ? |5 k& ]6 F+ ^* _$ I4 L 1 W B" o q( d1 I
*-------------ddy240pmaxp右侧低峰值 -------------------8 X `- ^* H" o
) Y, Z0 E3 ~' w) q. W& P" M
preserve
: ?& N1 Y2 v; k5 `7 y$ @+ a
) Z3 J. _$ ~, a5 i8 e keep if dx240>`tempmaxp'6 Z" a& q6 ]0 O1 a2 j5 }
7 H7 Y$ _$ q$ m" |( S0 g gen temddy240=-ddy2404 S' n2 F, w6 ?" Z. p4 F0 b* l
$ N& T/ u3 R/ W3 X' f, Z' u2 z
keep if temddy240>03 |. z3 \4 W5 w7 S: X3 t2 H. M! o6 d
/ p8 l0 ?5 F$ e! [! O! t
count
5 l3 V6 r1 q9 p ?: H7 r2 V5 p* D% R
% h9 K+ {4 j8 } L if r(N)>2 {5 a& e- k+ [6 n4 C7 e
: W: E+ h4 t& y+ R. H0 q
pkexamine dx240 temddy2406 p6 r7 a- l+ v [
: E% j! u- X4 U7 P local tempmaxplddy240=r(tomc)
; p8 [# a" k& c- |* F restore: n# I# h0 ~, M! g( a
}+ ?, w, k4 ^' C0 }$ E$ ~% f
4 i( K6 P* K, Y( A0 @: R* g8 u else {
' p( ^% z( M0 O restore8 O5 H! p6 y5 d* P& F
di "cannot find pmaxlhddy240"- n/ z) ?* _7 v5 E
& }" x* h1 C% ~3 A H- v9 R C7 u
6 k9 {* R# O# j/ }! i; K
sum dx2401 ^* b4 W# q% X2 e8 J7 e' z
local tempmaxplddy240=r(mean) in 1
' M, z; k, r5 a G# {$ k$ Y, Z 9 z& h9 k* F+ y2 a
5 L; ^+ h3 [9 D" q& o
}( x" C3 H7 W B. q
3 f6 u2 K( w( d9 V9 ~
" `. d+ a. E" J8 e
3 h/ |& p, z8 ?: Z+ k" I
' H/ V! y" k' x
+ w* O8 Z. O! o3 B& |
s! I6 d4 s& Z0 ? P
gen pmaxplddy240=`tempmaxphddy240' in 1
! S: Z4 Q6 V0 V3 x' L# V $ {* E8 ~% H( d$ i3 l- U
*-------------------------------------
8 h! e& W8 U+ m8 M: ]$ t- a
; J7 H) o4 }- I! D4 V gen price5d=v5 in 1/20 I: Q& l& q, J- D
& }$ X: |# R; \- b5 r gen price5yy=_n in 1/20* X& M% T- W# H( m u
! b/ ^8 @# T/ K7 }/ \1 t gen price5y=price5yy*(dy240max-dy240min)/20
9 q# A* ~# J, E' k5 i
9 B' `& K. j" D7 I X, n *price5y &price5d
: l. U5 W5 s! i& Z. q* } ! g! M- K3 U1 a6 w6 X+ }; o
gen priceny=price5y in 1# E- J l( W* x( c! J
! d; L8 Q* H ~* D! S& B
gen pricen=v5 in 1( x4 R+ A( n9 b! ~
: J2 g# e+ u. e% ?8 j. h9 z% D/ w$ z
9 u1 r/ P6 N; K$ G *priceny &pricen
# X4 c% x& q: A% {2 L7 l' J$ v 7 m# \' z( z+ B. V3 A
* T2 s: h7 y( n! L' g
*-------------------------graph------------------
; n6 q# s& g. j1 B! m B4 Y) u
+ ?3 a5 X- E9 t s$ _3 O( S 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)
) e: @) Y! K- C8 ]
7 Q( U9 f4 L$ Q& Y* ---------可选项目----------------------; u, v; \% B; k2 a8 a$ s
*(spike yxis amean,lc(blue))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean)). E8 f% |0 G( t
}
( S1 M7 J3 P( ]1 Yend
1 L& F8 m4 L. o! Q* ~/ | |
|