|
|
maodeng 发表于 2013-1-28 13:13 ![]()
: I2 _( J. |2 N. hello 300236( x! ~: P$ n5 C8 R7 U u( e
statement out of context
: ]# E8 k, V- A9 K6 ~* Pr(119);
3 Z8 B6 G& D [ v/ p9 t抱歉,最近太忙了% Z: H: a. V0 P, y4 R. n- {
& e2 O- i' ?! q) O) o/ E# R
300236 我用下面的程序试过,没问题. ~" j) _( i* d0 j# ^$ ?" A
! S. w7 F. r1 S你把 D:\stock\test\source 改成你导出的数据存放的目录,再试一试
- [$ ]) i% K9 m- m: {& w; a& g
$ [- [; a' F) `) Ecapture program drop hello
3 W7 y7 O% h7 d/ v W
& @9 f5 k3 p0 ~& ^$ F4 s, K0 hprogram hello* O6 c- S- c* O- Z$ s
- M/ |' ~8 x k8 W" I% s quietly {
0 a. f* w6 G# `, y: o+ \ K g+ _3 h2 s& y) n7 B6 R
clear7 H6 }3 I) D! ~% K, `
9 d" G& h) }* g* u7 t) g9 U v
cd D:\stock\test\source
* }: N' u0 V( y9 T; X+ q& }0 _ T) d# a
insheet using `1'.txt: \% }% ]( V, j. C0 b" T
2 q S* V0 r5 Y4 o# Q1 q; V" [ keep if v5>0
2 L. V4 p4 k6 H% R' k+ a) w7 v2 E
. y( J2 H9 Q: `5 j- E gen vt=_n
. g0 S* P- S% K* Y0 s: d
( y' R0 @' V4 `( ~; g! I( [ tsset vt' W4 J& F6 H" D# A7 C5 p/ [7 h
; C$ O1 i. X1 p5 R2 N6 v2 y gen zf=D1.v5
0 ~; a. E9 a4 e2 Y3 Y* r) Y* g; w
: |9 b# e6 p# m) t$ X gsort -v1- m8 A3 p8 j5 V: |- p
: L) E6 v) C- g$ j. [0 x
gen avol=v7/v5
0 E+ E/ D' \) o3 d6 {0 i( B# t * b: B7 w( H2 I1 h2 M9 J7 |
keep if avol>0
- k4 h" n8 ^+ D: w% F* ]1 v. T0 q; ] * c! s: S D4 q3 n+ y; j
drop vt
- H! m$ ]; I9 Q1 e 9 q( x- E, F' D* h$ D+ Z
gen vt=_n
( o$ w0 e2 E d+ |* u
. b, F. f# k1 p3 N- o tsset vt3 z. B+ m3 M; ]+ x2 B5 c
3 t- B$ L8 R, k o+ l& N sum v5 [aw =avol], c+ E+ c/ o# _8 T) N
- ?. i6 F* H% w. \ gen amean=r(mean) in 12 }( T. Q! Z) L7 k
; h) P0 u t% @; o& c * 总加权平均值 amean
; t4 l# v8 z' @' W3 o 6 C. y; ~. l2 t. Z1 ?3 ?; f6 Y
$ d# ^3 G+ J4 ^ keep in 1/240
- S$ m6 v1 ^: i8 `3 B: I) `) W' Q5 m8 e( Q) P
sum v5 [aw =avol]8 I% N' r% D% L: j
, G* r5 s' n5 c0 \& a
gen mean240=r(mean) in 14 O! e/ q4 a G1 L7 ]
- t: D8 y6 i% q* Q; D7 s
*240加权平均值 mean240
6 f- M. v. @/ B. m$ J1 X ; V3 _ G. [1 K, q' v% D
set obs 500
2 n, T( g5 F6 `9 e" S" g. W
T- c# d/ x" e3 C; O kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph1 J1 }# |% {; z+ _ S9 K( E1 T# J
$ M$ ]7 E6 k+ W' f
*240 kdensity(dx240 dy240) S' v0 F* t: f0 J2 y N
' Z) D0 e" {* h5 g
sum dy240, {, w- Z& s1 K4 B# N
% k* s; C. D, L0 F
gen yxis=r(max) in 1
8 m H5 N' [$ a6 E* O 9 `8 J! p. M$ |4 _3 N2 J
gen yxis2=yxis/28 S: N6 t: C$ d3 c! B2 S9 T
0 u2 r- z9 [8 t5 ]1 d2 [+ } *yxis
% p' x) x' W) L
- |3 d7 J. e' x, O t5 S7 r$ j0 x gen dy240max=r(max)
7 `( Z, w% k; F' ]" x/ U! V 5 B3 W" o& k; Q) P- {
gen dy240minp=r(min). S1 I! u. a9 N5 a* O- J0 n
* t$ y3 C* n- C, X gen vtt=_n' [4 y( L9 F3 k3 }1 @7 Q2 W
, b! k+ l$ P4 s- R tsset vtt
8 C+ Q$ g' m" B- H! \+ S7 _9 o4 Y& L% q% L7 X8 E. @- m! C3 n
gen ddy240=D1.dy240/D1.dx2404 S# _) N$ Q/ b5 [1 L7 g( j# r
8 Z @, a9 {% _! |; F sum ddy240
3 c& p( ?$ I% T0 H+ k# A7 d
5 F) R, @. a/ }0 L: [$ y" O gen ddy240max=r(max)4 W h. |# i. n9 @% W7 k
; p. {8 u3 R/ V+ I* s: w& x8 I" D( p
gen ddy240min=r(min)
* j6 w# r+ O3 R( L8 h4 z1 P" W
% ^! K( b$ |. X$ p gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)0 B4 ?5 p1 X; g5 }
- r4 ~1 x" `6 d$ [
sum ddy240g t+ \6 I! b9 B7 D5 u
! s, {) h" p5 A- w' J2 m4 N
gen yxis3=r(min) in 1: F# Q0 s* I" N( p
0 N. J& @" V$ k; g
gen yxis4=0 in 1+ L- g, g1 h6 R, U( c
0 P. \* j( _4 a( | L8 P
*ddy240g 3 z4 o+ G$ @& ]( ^1 J; x
' D& N8 h# G. H0 }+ K
P/ e {4 n! Z2 d6 A% j- x9 m preserve
+ z4 ?" G& P& \; l' s& b4 V+ g4 u 0 N4 @. ~) R8 @) S v
sum v5 [aw =avol]
; T5 l" H0 ]+ y# p3 Q8 w$ L* m
. B0 f! } {/ `! |7 u: J+ s3 ]- H1 P keep if dx240<r(mean). b4 d) K1 n6 \" M2 ^
6 C4 }& @2 c% @5 G sum ddy240
7 G$ k( C5 Z$ T4 ~6 V; m
' n: Q% G+ E2 ~5 X' b! p1 E% y- b if r(min)<0 {. |& G7 {$ x+ v
$ R& |* A% ]0 T3 m) a" T$ N
keep if ddy240<=05 p# Y6 l0 x- p" t+ r# D+ J* u$ z
1 e6 U( i& h) V# S' j! n count
( J: V4 d0 G5 o' X/ `. O; B/ o . s8 t. K3 ]; F! `
if r(N)>2 {
9 |6 M2 r' q7 ?1 O" r U. Y
3 ?2 F4 o" n6 y' Z } v6 s pkexamine dx240 dy240! I9 m1 Q) f. ]3 L" f% T
5 D* P+ R$ z( V% R" _( B, G local tempminp=r(tomc)
2 K# T, B& r9 f3 @, G restore
1 ]. X6 w5 D: X* A r }
+ {1 L [: N, U) |, J) m$ t y% \' f$ E3 i
else {, y' v# v) N: ^" M4 t2 L. j' `$ R* l
& e, V$ E/ `" m: n2 x) b6 A di "cannot find minp"
. G9 r- U1 t% |' Z4 ]1 H5 q $ ^3 g( K+ }. m! T; v$ H; U
restore * N |& w5 ~, M$ T# v
sum dx240
$ G" G& v( C4 i- O8 u: Q. ]$ A$ v local tempminp=r(mean)
' Q) \: ~/ z3 s$ f9 T z/ i : ], }$ ~8 z Q+ @
}5 q5 O3 R5 F0 a( E6 B f: [ Z
}; \7 X+ a, O, c2 C$ n+ B# J
else {( `! D7 B4 ~0 \; _8 F! P# G
7 X$ R# C4 H/ p5 I
keep if ddy240<=r(min)
( S2 F. X4 ~% w* B1 O* }
0 E9 K$ X3 O5 {8 Q/ R sum dx2401 W0 D6 e% d% z( A+ T/ D
5 X4 P: Z. [: ?: s% ~3 u
local tempminp=r(min)) W* `5 s; {. h6 A: v, H9 C
restore
" o. }- |8 Q# K# W s }
" u4 N! j# a3 d) f+ m' a* s& ^* z G4 F8 N; d
' j4 q" Q; M$ K: K0 z1 Y( ^7 {
& H5 u, i$ p- M; G- V# @ gen minp=`tempminp' in 14 H( _1 A U5 I/ R
*240 minp
5 ~: v$ K t# q
' i' `, a0 l/ a6 }7 m/ o2 W
6 V& k4 K, r7 A0 ~/ T1 @3 V
1 {# z& _2 }* F' j preserve 1 N ~0 D8 M) G; X5 ?7 ~! R% B
. e6 t+ W7 L. x/ l! |" c! Z
sum v5 [aw =avol]" E. L+ p0 O9 k; [4 j
. j: m# b' V% Z, r
keep if dx240>r(mean)7 B, B, T6 \0 l0 w; D
1 {' Y. c s8 e0 C7 _* r- F
sum ddy240
9 \( w I. ? W5 R( p# F 3 v# \! F" D: g4 O( V4 |5 @1 W
if r(max)>0 {
. m/ g1 v0 w; C- h) i& ?
/ O2 a8 u; k- P, M keep if ddy240>=0( \5 t+ v. [$ q# k% {# N( a
4 A& d/ q6 Z+ o count
, Z) ^- S" ~* x5 x, ^1 \5 p' | + P* r2 Q E( W8 G" e: D4 z
if r(N)>2 {
% ?+ C+ |) T# Z' }: A
" A9 t- T" L7 g' Z$ @; r2 n pkexamine dx240 dy240
+ C$ J/ |2 i4 G) q: A7 G9 j; y' R
$ V' v& b& A7 t q local tempmaxp=r(tomc) * H% i& V4 H0 _/ L. a
restore 0 r/ R- Y: B$ K+ N9 ?2 L* S
}6 a4 w9 A9 U5 H' d" C9 [
8 g5 c- L# W; n. E
2 Y8 }+ H! {2 t# W2 N
else {2 r! l% K2 [0 q' P& O5 ^
restore $ |; m6 j* O4 A! i
di "cannot find maxp"1 L! }( b' ~) R% B5 N( J
9 N5 f' V! n' z: p; S) u g
, t" h' E2 ]- C7 ~ sum dx240
( [+ |: C9 u# f local tempmaxp=r(mean)
/ f. v1 J# m: J# U, W. S9 k 3 H1 v( [& X9 n5 }/ M
}
, w* `$ Q) e/ |) a$ Q9 [
0 y& b$ [' N4 V6 ?9 S# j1 U }
8 W* z) g* ~/ k U8 \
7 N) {6 _6 C& U else {
# V# d/ }4 _6 W( l( M# y 4 N5 \: y- [; T) a3 D& k# R
keep if ddy240>=r(max)0 t/ G+ q: m# q. f/ Y
V( w8 Y' J1 ^
sum dx240
5 @6 g, Z8 r6 z1 m8 f$ D 5 P" k/ V: l' W" l. _' B& G
local tempmaxp=r(max) - T- g3 N) Y; }
restore
- I! Q; I$ f) `' ~ }
5 I4 x0 z. C1 q% W5 _: e/ H; v1 O 5 o$ H, A' l+ Q0 H% S$ Q4 W/ |% V
3 L3 m2 |. l1 `8 o; v2 _" _: Q* E3 w
* @. P6 |0 b8 e9 u
% t9 q# N. v; {7 Y! j0 M: p% ^ s gen maxp=`tempmaxp' in 1
$ F4 Q+ X4 k* Z
+ E* H( h/ J/ `* {/ q- k *240maxp
5 ~2 p# U% [; \5 k# I5 ^% m 8 s2 ^3 [9 ?5 G- J' c
3 W2 |# d( x7 F: K" W5 _ *-------------ddy240pminp左侧高峰值-----
' ?9 X8 W/ }8 B3 y& \- j
: o7 a4 H0 k2 P) f9 |2 A8 p preserve
$ `5 ?/ O j' X9 @/ f: L( Z
6 C0 P+ O8 f6 b; H0 ]% X keep if dx240<`tempminp'
0 Y/ I- q) g* w5 T& F W
. p* X0 v4 o7 u; }# D4 W keep if ddy240>0
! b$ ^' X9 c( M8 K3 x) F - \( \7 H0 C- w$ I6 L6 ]$ X# W
count
% \1 b5 H1 f" w0 R) \
& |( ~/ t( ]: P9 l if r(N)>2 {
& F O9 k9 x: h0 b9 g7 U+ X- X
8 }' U8 Y8 V4 ^) e& F% @ pkexamine dx240 ddy240
- U: N! ~3 X8 g! B 5 C4 y6 c \' ^3 H
local tempminphddy240=r(tomc) C2 Z* P, V, S, |* K0 h
restore
* k" f6 W: @5 ` }7 g' N% E- K5 O9 S
0 f( ~, J, s4 }0 ^( d
else {8 w4 W" f, R6 E6 S# a1 U
restore
$ B, H6 r; A0 v" @" t di "cannot find pminphddy240": t8 R! J* B9 ~! a; B3 n1 L* h
' Y1 L0 A& \5 A! O
3 ]! f* Y/ c# W; N sum dx240
/ h' V8 r# _0 J5 n' V1 R local tempminphddy240=r(mean)
6 s) A, _& `% b5 N3 Y4 w 9 `1 K0 ~/ w5 z: Q M. _
, t0 m- X6 k: }8 k# H1 h5 j$ f
}" T* L9 }3 O# N, {6 o: U" x4 t
8 \3 f7 `( O. D6 a: z
y! Y2 ]7 Y9 x: q; C H6 C6 n
8 ]6 }/ X- P, C4 P
4 a# |8 [) x/ P5 @
- j4 q9 k( Q: {2 E/ W
: d) o. z# ]8 `. m6 e gen pminphddy240=`tempminphddy240' in 1
% ~2 U% g6 w( V* N
1 |4 r! ~- i8 _1 J2 H$ P# K 8 j7 ]* S" {% N: ]8 m5 ]
*-------------ddy240pminp右侧低峰值 -----------------
0 v6 A) f* \5 m2 L/ n$ n# T' i0 a' ~ preserve , C+ `8 \, ~& b( q0 m8 c
9 R) D; P* V" R0 Z. j5 ?) ` keep if dx240>`tempminp', q7 A2 s( C9 n# H
# H0 o0 {1 ?; Q0 y1 {4 l
keep if dx240<`tempmaxp'% K) p0 @- Z/ Z9 O
0 A6 G7 R% F& S4 z
keep if ddy240<0
- Q/ M# u! v$ T1 s
' b: T7 o6 H4 i* [& i8 [ gen temddy240=-ddy240: J3 @6 C6 D% C1 u2 G
% @5 Z- n8 \4 _2 M% S9 J* [; n% z5 W count* ?- _* m1 D0 w
! I1 D+ h1 o: k4 }8 N3 l if r(N)>2 {
$ S" Y) }/ A6 M9 f, I* k # k2 I9 J: _" Y! {3 T
pkexamine dx240 temddy240
, Y0 Z# G' z. u7 E P5 b % U! Z5 a" B! H
local tempminplddy240=r(tomc)
& p3 Q2 O, g: r7 b restore
i% M8 g/ ~7 |6 T9 \ }! _! N8 F5 s2 b, `
$ ]( a) T1 q& Z, m0 S5 @% U
else {
, ]- h) l) j( l. R5 l/ Z" u' D# N2 G ) `# K) S3 X# @- z5 u$ i' F
di "cannot find pminplddy240"
' r3 `/ u0 J9 Q restore; s% X9 P" v+ }" O9 ]0 J3 Q
2 N4 ` \4 I* ]' c# f% I. n
sum dx240
- \/ Y* a$ g! @ F9 j local tempminplddy240=r(mean)* t; B q! ^5 [2 p. K( t
1 I, g5 x2 D N' t& P ; b6 v+ W8 y/ d6 [
}
) r' a' N6 o4 t' K
% a8 f- L$ o& m9 w% p9 ?" Z2 H% s * T5 u* I/ i( M1 v, ~- X& b
2 _0 M- I2 B9 `6 L. e! U
9 I7 f3 ^! U6 l2 C u5 ]
8 i4 B* n8 V4 z9 y' |) y gen pminplddy240=`tempminplddy240' in 1
; N, I* U+ u# {2 _
! V5 H6 e9 o. V7 ^# ` *-------------ddy240pmaxp左侧高峰值 -------------------
6 G, i2 c2 ^, w$ ~% C' S
7 ~# z; p- M D5 Q3 {0 i2 C0 { preserve
( F( B4 i [! l3 A4 v
2 o' ^8 i: O5 I$ I5 S) a keep if dx240>`tempminp'8 d+ w2 [, s; b n/ F5 A
& g i* S, X: K8 T- H keep if dx240<`tempmaxp'9 w! N' _) b# r7 ^+ `
1 x/ P9 r- C- r8 M7 V keep if ddy240>0
+ z/ m% A9 G! l+ a count
( F# P; V2 l* W
: D3 {8 F/ M9 ]0 {& {( B; B if r(N)>2 {
6 \# l2 X2 i& i) a. n
: ^$ y: s3 _' h, W, W. Z8 W pkexamine dx240 ddy240& S% l' ~# M* V8 T' c# Z1 `
4 d4 K0 C$ {+ J" a: a! U local tempmaxphddy240=r(tomc) 0 d ]+ \8 o' _4 u; A
& }3 q0 R! Z( o+ d
restore; F W' G) s+ k- j% ~
}
- x# L/ }7 P& r' I" b 9 x; D1 M: Y$ E1 {% E/ |5 c" q: p
else {+ T: c% d; s b; s( U1 p: d; ~7 ~0 V+ G
1 S. [" |( \. }! w* p" a* q
di "cannot find pmaxphddy240" P6 y+ r2 i4 C: u( z
restore
$ Z$ U/ d2 e! @- w$ E& ~/ q2 P. U
: P+ D. x0 |6 L0 _ sum dx240
/ f2 E: X+ @3 ~1 r( K3 u local tempmaxphddy240=r(mean)
* b. T$ r: J( I- Y# ~; H2 |; G - k- S9 c0 s) Y9 x1 m X- b) ?
( j9 z7 l+ b/ K/ P
}
. B% ^0 z6 s( Y3 Q+ S
. q* Y5 _4 u0 H& y. s
, |0 G; u" \8 _2 l1 u
+ _3 u* V5 C$ a( J3 m / N. u8 Y. S3 M+ N0 h; u
$ f* h* M. s+ y8 Y ! j s0 O9 n+ t! \* Q
gen pmaxphddy240=`tempmaxphddy240' in 1( ~' Q( x; X9 z, W
3 \8 i+ @' Z* m( @6 Q x
# A+ ]# j- D0 p y$ _! Q
*-------------ddy240pmaxp右侧低峰值 -------------------1 o2 q! V5 l% k5 P" C- S
% S! u; A6 A$ l( o+ | preserve
) q2 U3 N8 V1 w: j* h: H) ]9 S
! c0 |( [" B& i* ]+ ^ keep if dx240>`tempmaxp'
' M2 `% g/ V8 C & n2 y6 j6 H e, @' o7 Z
gen temddy240=-ddy240
' c: A- R/ V- W4 w, n# v- E 0 x& S9 O% f4 S* A# E: u. X
keep if temddy240>0
. Z! g5 H7 `) d; m
B0 [5 l8 N" x3 ]! E: [& K1 @ count: N, {$ V+ e2 y4 V( A' P
& e* T* z: B7 d0 M8 g# l2 b- s- H
if r(N)>2 {
`" ~+ m" D" ` . L1 a1 O+ p+ i5 y& b
pkexamine dx240 temddy240. _2 {- L. J; Y0 H
, _. i# X, }# ]$ M3 [
local tempmaxplddy240=r(tomc)
& ~: p0 k6 L8 R5 a) i" H. S: o5 B restore C. m: l: Q- U7 F7 F5 v, O' \
}: @7 l. J$ t. _) f# A2 y$ s
$ {1 n, X2 h" L
else {
7 l3 i/ Q. h& i restore9 n9 D& g0 ~) N( @3 E7 W. d
di "cannot find pmaxlhddy240"
. ]3 l% A( I, D4 C: N) t7 m6 q ! ?" `& o4 h( ^( E$ Q
% ]' `/ N7 E1 a* F+ U) y sum dx240, E5 U4 V8 e5 w: P C5 x7 |3 m
local tempmaxplddy240=r(mean) in 1
! w% m, |& Y3 w, f6 D. M+ L \% j4 L1 H; K4 h. }
4 P* K% k. Y0 m) j9 } }
3 r- R4 @+ q/ P/ y, ?1 ^ , b9 R* q9 c% V3 A
- [, S' y: k3 `0 s
! L+ a/ o( i4 h! Y: ~" `, m w
1 ]6 A4 ^ _2 x, O5 J. G) G
( M$ v+ @- e6 i1 _9 b * N- s' t A% u
gen pmaxplddy240=`tempmaxphddy240' in 1! f6 T3 s/ m. e& c
" A# k# A8 L- i *-------------------------------------
; j( L+ h7 F& ~' q+ W! l- j6 e( P
$ T8 k1 C$ K5 G+ V4 z gen price5d=v5 in 1/20( _! A0 O% I0 |$ l8 ^; q5 t
% v- o4 R/ q' e0 _- B/ h+ L, u
gen price5yy=_n in 1/20
9 t2 L" X$ x" ~5 C ( p4 C4 h$ Z: y7 T& a5 [
gen price5y=price5yy*(dy240max-dy240min)/208 b" V$ m& f: j, r' a
2 f$ E! J8 k7 x) u b3 z. f
*price5y &price5d
2 A4 i2 l( H/ g3 @ 7 f4 ?; u8 j! X4 Z
gen priceny=price5y in 10 ]0 ^) @- P* e4 S; z
- c( q+ X8 }' }- ^9 }% ?5 p
gen pricen=v5 in 1
! b- ~# T0 |: p+ l4 X; }% V6 `% M% B& n3 D; L! C% G( O/ g
2 `2 e% `1 V2 Z5 T, D# Y
*priceny &pricen' H8 Z( p% K3 q; }# s4 u4 v- |
3 O6 c2 K- H+ b! x/ N4 N 4 b" s+ T' x1 P7 ]
*-------------------------graph------------------
* x9 q# q) z+ d. A5 p8 R; ?+ f0 @
6 ]" f1 ^3 E8 g) q 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)
' d" T9 w( L' c3 ?% Y$ \( ]( ]( d+ y: n( y
* ---------可选项目----------------------$ Q/ p$ {4 p- n$ Q
*(spike yxis amean,lc(blue))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean))
2 N0 y0 \/ Z; d$ B, Z( z- ~}
& M" J* D( g9 C6 r8 O, s' g9 uend* b1 L2 Y6 ~+ y) o) C
|
|