|
maodeng 发表于 2013-1-28 13:13 0 P8 w1 u) d; ^1 n6 d2 o! x4 K3 `
. hello 3002367 @) X$ t& I o& G# X- {2 t
statement out of context# E* ?9 c: g4 z% [) Q7 g; @- `4 P
r(119); & x; T/ t t: B% s/ {& K4 @
抱歉,最近太忙了2 d% T6 [2 O4 o4 b7 s8 z
% C$ }7 @$ c! K* ~& F' a8 p- _
300236 我用下面的程序试过,没问题" V! V5 G8 A+ r* }, `3 p
; O- r1 X& I) Y- C5 M你把 D:\stock\test\source 改成你导出的数据存放的目录,再试一试
: r* l) x0 m5 ^; m
; Q$ b9 e7 X, b% r! t" f5 Vcapture program drop hello1 l2 z7 N/ ~/ @5 R* s7 }
0 ~1 E1 s. a% v) ]9 w. i" Xprogram hello! a3 a4 y: v$ X1 i% g$ O" P: y
* f U" z) F% L* U/ v3 c quietly {7 X& z" O7 w! ^0 | k
$ p- Y8 X* C+ N( b0 d
clear6 A( r& v8 E* Q" p" L
0 e% s* A: E& O: H5 m! u$ |cd D:\stock\test\source
% Z K2 S$ [% |2 y( n( t! J
5 A, D' U+ D* ^2 o2 ~3 Y# S- C9 F. hinsheet using `1'.txt" } J/ [+ O* j6 Q7 i9 o$ a7 r
2 Z- C# h6 v* Z/ E4 \+ p
keep if v5>0
; D& [) |9 u# O4 Q1 v# `' A$ m: G & d. M+ T& T. t p) ?; O5 ~' }
gen vt=_n% D+ m& L8 c a+ _
/ i1 i* H8 Q3 S! g" ]" b# d$ Y
tsset vt" k2 P$ g! `% w9 _
& Q1 `/ I5 V1 t& r7 c- g7 a
gen zf=D1.v5
6 M! ]0 z% Z, r; Q) n9 d/ B3 V$ y/ Z8 s7 Q5 V! c5 T
gsort -v1) [- U3 {" h" Q% j6 x/ b
& ?2 k6 e8 n4 A1 |5 | gen avol=v7/v5
+ }7 E" p, W4 {" |& k q4 ~
" v ]0 s4 k, M keep if avol>08 |, j1 b5 O6 g2 f
! o2 K. K, ^, j8 w/ y$ o( P drop vt
+ l T; b q7 {4 q7 _) J {
: X, j* ~9 ?3 C! h( q' w: v5 ~1 i gen vt=_n
, [5 m8 M' }6 _3 x
5 T+ @; W; s# K; I9 ^( a tsset vt
( b" _' {' Q7 f3 l; [ 3 n% ^% ^1 N0 A' g3 D- O
sum v5 [aw =avol]& c5 T4 Z! {( A2 m7 t: `8 X/ n9 G' d- x
( _' N+ \ t1 s4 l- t4 L' B; K! t
gen amean=r(mean) in 10 B/ [ f6 O p0 Q7 A6 M; I9 Z
, Z) t1 _0 O* o. @ * 总加权平均值 amean/ T, [2 O7 |' O% W
, Z4 @6 Q9 ?# C7 o' P" D% f
4 i& m. x( |$ ~9 o
keep in 1/2402 N3 W) z' F+ \" H
# E v% A9 K8 M! q; \
sum v5 [aw =avol] a1 S' d" [' o9 L
$ @, O2 U! z0 r% E7 U, L gen mean240=r(mean) in 18 W8 J% d# Z/ a7 }2 d
8 M8 ?, e1 d) s9 ~9 i5 A* B
*240加权平均值 mean240
: s' X5 Y' S! J6 l% ^) K0 K
) \# ^ ]9 K3 M) x3 h1 K set obs 500
# n# k, e4 b9 ]: R$ o6 j" @! B
6 S& w3 l$ n2 Q kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph
, c* \1 \. R7 f0 ~- P) O: I
' s/ \! _- j! Q5 b9 b: g# o; T *240 kdensity(dx240 dy240)+ p3 u9 B$ g! S$ c9 [& H' t! Y6 Y8 Y
4 `4 F1 b& P+ b$ }) ] sum dy2405 f, f, [ N( W) l! x
6 \2 [ }( [& Z5 g gen yxis=r(max) in 1
0 O9 i* \2 P7 s5 V; H9 D4 c" q
& H2 i/ K$ f% `/ X) v! x* O P" w gen yxis2=yxis/2
$ A+ j3 H4 r" b+ q
: Y- Z+ I) y( J0 F. z. G *yxis4 i- N( ], H2 t) k5 Q
3 i- p' f0 D+ O& y. C& o
gen dy240max=r(max)
$ n: l1 K1 g: x: r# J2 s 6 ?+ b/ U5 ^& E. G
gen dy240minp=r(min)3 D- A0 f$ q4 c
$ G6 ~' q6 f3 x0 Q- h
gen vtt=_n" Q0 t* v4 x" J( P* f
+ v5 |+ s0 q1 W1 T+ b( U. l tsset vtt5 c* `$ e4 W# M$ P( w
/ {/ p. R. m0 ?$ \& _- I gen ddy240=D1.dy240/D1.dx240
6 b: y) w1 b8 I9 [ Y 7 U y" ?9 ^. G
sum ddy240! b8 B/ u/ \& P% l* U
5 b$ g9 [) A6 `4 ~' I3 @6 r1 d/ f gen ddy240max=r(max)
0 I3 f/ u" |4 j: S; M. W- V3 |5 ~9 A
0 O$ w/ q* s1 V; q gen ddy240min=r(min)1 i* A/ @$ H5 ]- K# P) O
; y% P4 v; R- |# h V A0 {/ y gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)
1 ?- V% ^( D9 `; f0 F9 D& q3 ~ 0 |0 b% c. `; r* o" d) \1 F
sum ddy240g
) }$ T s* j4 _! L* B 8 W& m$ \8 v# B8 `- F
gen yxis3=r(min) in 1' W+ c" \+ ]4 l; y- L
/ V7 t: g( L. P
gen yxis4=0 in 1
% Z3 w( B4 P& H6 y9 v
: [/ t9 [3 x( q0 w *ddy240g
. ^; D2 O: W- \( O
$ a( @% B/ _( `* [ 6 r* q4 E9 [5 g0 t
preserve - I& i/ R$ p1 m3 T: \3 U
4 F7 N) }( \+ E' E \/ S5 n i
sum v5 [aw =avol], @7 A" u, w1 n" O5 S; j
* N; H( k( f. k7 L5 N5 N
keep if dx240<r(mean)' I0 a( [' Z) H/ W% l; A/ } y
; x) |% S6 y2 ^: i3 W sum ddy240/ M/ n8 n1 Y3 y1 c
" f) C5 f4 Y' x: @/ f) W if r(min)<0 {
4 p* G4 R& K% ~9 A ( S8 b0 @8 I3 ?. ?, ^
keep if ddy240<=0
- t c1 V- U. I a g 3 n1 `& V0 \* {% V
count) e+ K j/ {7 t
0 D; Y# m) j5 l3 f/ Y6 B4 }5 l* q
if r(N)>2 {
& B; r* A- h' u( n+ J- w: Q 0 e; Z J, N+ Q4 C2 n# ]& w
pkexamine dx240 dy240
% e: E; M5 P8 y, W6 H" H 5 v% j4 S9 Y2 M2 }$ P
local tempminp=r(tomc)
% k# V$ i2 x( q v restore
9 {. y% R7 u3 G) j* A) i3 H0 D }
% a% e f7 g- }: A: f0 s ! N4 X6 L' i- c/ K8 Y
else {
# j9 \6 E( B" c+ B6 C 7 P" [4 ]( `& ` d1 Z) y
di "cannot find minp"
% d* x3 f' `2 P6 b
1 S: t% |9 H- @) c restore
# r& k3 U* }& L: k1 R" F; q2 s sum dx2406 M1 v5 y2 M# H" K, {' k+ H
local tempminp=r(mean)
% W% @8 o2 W) l$ }% @+ o : S* p5 O" E$ x: C# a) L& x1 q/ m# x
}& g& o2 J; H5 `7 m- B
}
. N+ c5 r) a1 Z1 Z# S else {
7 f+ `& W3 ]2 b8 I
4 s; ?& u2 } W3 w: } keep if ddy240<=r(min)) Z# o' |9 Y: h& T* o+ U- O
7 a, g' p: y0 @* w5 D
sum dx2403 a4 _; s: s5 S; M& E; a% ?2 D
9 S! l% m% m. Z& }* H. U local tempminp=r(min)
$ @" z" x" U% n/ T: D/ S restore 0 a& S1 T& I! X) ^, X& ?( s& x
}
5 c. N) y& }. F5 H' P7 u
0 p1 C: i% `) b+ N) P: p& C7 J) D. `+ U4 B7 a; g0 a( \
# U5 w1 x* a; Q( W) U
gen minp=`tempminp' in 15 s: s9 }1 J+ H7 ^
*240 minp
: C( Z- R4 b" A- e! l1 p
k+ ?5 i8 j& s% D0 t x: Q/ [, ~3 N& S: ?1 U2 D
3 w/ U/ ^" ?% t1 Q) ~- `0 o* R
preserve - K0 v: p% T2 o2 P' u! p& K
) k1 e7 f1 s" |2 i; k4 Z0 S- _ sum v5 [aw =avol]: ~$ W' x, A0 U! c) B4 ?) J, C
" X( a E( n D( c* k4 l2 b- {
keep if dx240>r(mean)
" i- X O' ~& t, ?: h* C , D9 V5 Z: K8 _
sum ddy240
* K8 _! c; N- `2 u8 T! K, C
9 k7 R. a, H$ H1 ], ^5 N if r(max)>0 {, G( h# S- z/ _! s
5 R! l# h$ S3 K: w. T keep if ddy240>=0" x- j) `5 o$ V0 J$ ~
+ e. k# X* f3 ?/ q6 @
count( q+ p, ?$ [* o) u; T" [- s/ o
; n* A5 c. ~- q" E1 J if r(N)>2 {0 T5 ~+ ]& _* G* ^4 Y0 J* D% g& C
; u; B' a8 G% h! @ pkexamine dx240 dy240
$ g4 i0 g% t' o% p0 q - X0 E3 D3 y Q1 o- S
local tempmaxp=r(tomc) + e3 c6 L* R4 q0 C
restore 2 w3 x8 D+ M5 q
}0 S" N. W5 g2 A6 m% m! I
' M5 ~. F) a! M* j: | J4 _
, `& u, Y: p: }! P' A# q/ w/ x7 P- V else {
V8 w6 p; t" f restore
0 V2 j3 j5 i! U8 L di "cannot find maxp"5 U* o6 o: n( Y
* |8 T% m1 W& K% v5 Z$ G
" R E8 E) c$ X$ c3 C9 P
sum dx240
" i3 Y, m$ g/ F: m( ~) ?- c$ v4 a local tempmaxp=r(mean)" z8 x3 P' n) _* x9 j5 u: J
& S: @* r+ \+ u: j }9 w5 y( ?' } `! V
/ M2 X% M/ W$ G3 o
}0 {; S: w0 A9 V. V, W9 p4 |
$ Q& W* j8 K+ Z* X% B2 o else {
1 y+ N; E }3 a* j8 l
0 s7 U$ g0 ?! a keep if ddy240>=r(max)
3 j: ~9 O* N, {- I- m 8 G2 b, q/ A' h* v8 u
sum dx2403 I* f2 S7 H" l- B7 o3 b
* @: _2 ?' f1 Z. z+ y! T: S) ` local tempmaxp=r(max)
9 M& z" D! ]: W; C3 h. d7 c; c% c restore " I8 U: a4 a& B6 T
}
0 a# L4 t8 J% B+ y
6 [; t' @' d( g. n/ P$ o; r6 F' ^) [# I7 D
- ^7 j4 U( i% l8 J
" X% N9 t3 P; K gen maxp=`tempmaxp' in 1
$ Y' S! u# y0 U2 a2 {
9 y. x9 ]' s" Z" {/ b *240maxp
' u3 x5 O/ A& g, {/ d; ?# `
7 m% L4 r# Y9 U* Y$ V8 @
: `/ G7 i! Z! x4 S" l L *-------------ddy240pminp左侧高峰值-----: k* H7 ~) k0 h2 W9 A, l/ d5 i, T0 r
0 [" e# E2 O$ P; x6 g d. B7 n+ Q preserve & f- z" H$ O- b4 s
. ]: p5 x* w5 v# D
keep if dx240<`tempminp'% `2 S5 E# @) d
6 k9 [$ P& \! i- a& v! e keep if ddy240>05 m9 ~* d7 T% S5 k" q
) H! |$ X. O9 K* k, Z
count
" t( h, A9 h r- g9 U5 A c $ A o- j# z/ @
if r(N)>2 {
5 J7 f7 P- c/ b+ H: Q' |; ~3 B! B
: L0 K$ h! c: F+ I: e; b pkexamine dx240 ddy240' k- T% ~" r m. L" m& S
* F; p& V: N+ u+ c! H1 E9 O local tempminphddy240=r(tomc)
a- X- v0 l7 v1 P* Z0 u5 c, R restore
4 P3 E6 O$ D5 C }
7 L1 i5 j' q4 V& Z$ O$ N; Z
' I* s+ A+ E9 T* K3 ^' h else {
$ l: T1 u0 d- y( S Z restore 2 O$ c- ]( S9 y6 W8 ^6 P' ]
di "cannot find pminphddy240"
) S# U8 i H- }: E" a. Z 2 F2 g e }: _) a
2 @# Z% k; B" u5 q* i( n- ~. m sum dx240
2 a+ c3 w0 `3 K9 }6 e local tempminphddy240=r(mean)
7 O5 T! g( z2 \9 Y
% l _: n: ~, a0 ^; c$ Y % |# a6 F' W( C& ]6 L
}; x9 |8 {" N/ G9 O
- l4 @3 Q4 A% {: A9 W . a @' T I p2 p% a: k
# i4 ~* \" U9 u. J1 n
/ j/ [* U7 A4 u4 }7 J' ?
5 s+ W V, Z% y o' w8 E# ?, k6 g
gen pminphddy240=`tempminphddy240' in 1+ }7 B/ b# o; i9 R
/ _/ e' ]- |6 ]2 m9 f+ F( Y
7 [0 o6 D7 `9 L" C6 M* W' M; u *-------------ddy240pminp右侧低峰值 -----------------' _( M9 b1 _% c- V' Q2 k# n- s
preserve $ {2 g1 T' o9 k0 W! `3 {
2 V0 ]9 {$ X$ l3 c& y" N. C keep if dx240>`tempminp'$ y. {9 M# Q- V& h w/ U: {
. U% O. o# Q i( s3 F: U
keep if dx240<`tempmaxp'& Y: g5 j0 p3 }8 ?. _
/ ^; b+ J3 [# K5 g8 x4 q% `
keep if ddy240<0' X. V# Q4 j' {8 `6 I' V# h5 ?
i8 Y$ g0 u' r$ j# Q+ G3 k
gen temddy240=-ddy240
+ ~5 o& i& w0 F" x+ l4 \$ E 1 J$ u) ~5 H/ }" {" O! r
count
& {3 [# K- D M2 Y" O & T8 |- a: K2 b; N; _+ o& \$ U8 R5 @' B
if r(N)>2 {
\" X4 X* F P" x$ ~4 ` ( p: O" g: e/ i4 \+ z
pkexamine dx240 temddy2401 g8 d; ]$ p* k9 S2 J! v
' e7 x1 D$ J7 f7 z5 D local tempminplddy240=r(tomc)
, E7 X% u* i0 s restore
* p9 t- @/ \ O }) p0 r1 |* X1 f& z9 v
: t, r; |* g9 t1 T
else {
( J, T9 s) A; e% q3 e
: V- J" _$ {7 W7 X% o4 ` di "cannot find pminplddy240"
$ F% Q. g( [+ h, |: P5 X restore
+ F# T4 ~3 [' h8 R) c( a% {8 z5 U
# j) n" i I$ n, M7 e4 p5 j sum dx240
6 q, @3 E, T* j' S; o3 Y/ | local tempminplddy240=r(mean)
8 b0 Q$ @ s& @3 `& b# t5 N# Z6 C
9 p1 L1 B+ G" O
& O0 Z, \8 y/ C1 ` }. K) f1 K1 u1 r7 w) {9 F7 l
: X0 f! b/ e) K' [
; _' `7 S9 ?) {
" ~9 z" I% R5 _ & y) A) L0 L) ], e
1 z& M& M, y( {" C! \
gen pminplddy240=`tempminplddy240' in 1
* z, X" d6 _" m' U& o
" M0 d' Y% p5 [& p7 j' }6 p *-------------ddy240pmaxp左侧高峰值 -------------------/ [' y7 v6 g$ i* p3 h
# ^ s2 o3 G8 F# T" Y' N; h, U
preserve
( g5 V- q0 y# q1 m; r8 d& [$ W
3 n h/ G6 K+ A keep if dx240>`tempminp'9 V( W% D$ b. {: a. \: Q0 S
3 B' e: ]/ f+ O0 g4 P
keep if dx240<`tempmaxp'- f: U% z, }/ T
$ w& @8 T' d+ `9 p# i keep if ddy240>0: ?& p9 q; z- s# d) |3 O8 R# z
count, p. k8 [. T. p% o; {. E
8 u- H s% e2 @9 t if r(N)>2 {( X$ r& [9 T, m; |6 B d* R& B
/ j- E# d2 i7 ^1 `
pkexamine dx240 ddy2407 y5 Y* s; p1 z& S" ~6 y
1 V3 U' v+ F- x* u5 M3 k4 C) m local tempmaxphddy240=r(tomc) / e* I g/ U7 B; f2 ?+ ^
7 s5 I m( ]+ O% P9 l0 ^: b5 b restore
8 X# J p7 J0 _* E }
8 Z+ V% Z" C( _. P3 v% Q
( j4 c, h0 S: f6 e( v% J else {
" T3 ^4 \ u- ?4 l 8 M. o6 T% B# U& T3 ]" U: ~: L
di "cannot find pmaxphddy240"
! Q" J4 n8 M7 ~ L6 C1 `1 L9 Y restore
0 \( _8 z1 ]% i9 _# E
5 q6 X- Y4 T8 s2 J" M sum dx240' i( e. g+ q% l6 g# q. F
local tempmaxphddy240=r(mean)
, e# X- D& \$ y% U6 u 0 F3 k- T. }* q0 e5 o |
+ ?- h/ V% l7 j. \' f: T0 ?, o
}- F' G' t) c* l
/ _8 H/ V& Y0 E9 v% ~. I$ D* @
E6 U8 _6 k& ], O# l. H8 e
! t, x9 G, { H. w- ] 2 h7 Y& n6 l! Q3 j9 k* I2 f$ F( r
2 a( R0 J. D6 ?
2 I* C- q2 e) `9 D) K
gen pmaxphddy240=`tempmaxphddy240' in 1
: b8 k& W, a2 k" m6 ?! K) }
4 U' K; g$ I* Y) X
' M: u2 F$ W$ z( V2 V: L *-------------ddy240pmaxp右侧低峰值 -------------------
4 ]% I7 b* y6 I& i" C ) e5 |7 o) p/ m
preserve 6 J$ e& Z) ^' }: V
% ? i+ D, O; w# [& n keep if dx240>`tempmaxp'
6 G% a9 H/ \. S
6 ^& X; b$ a+ n! U gen temddy240=-ddy240
" A/ w. d/ y7 w$ x
2 W( A+ o- |0 S. \ keep if temddy240>03 {. L- }) @+ v& p( G. G! O/ t9 g
8 H: ? X% U, ^, E- B count
: h& r2 L S& _) u
0 F" f; z. w- e; C. }. e# | if r(N)>2 {# W$ N- T/ ~' m4 G. z( M& F
3 ]/ J* I% l/ y6 k V6 B
pkexamine dx240 temddy240
$ L2 l9 @) a7 p* _ 0 D+ a3 k& w8 E2 W% y. Q) f
local tempmaxplddy240=r(tomc)
" I9 e) l* C+ W0 @: q: z" Z restore
7 S# N2 G6 h4 J( |! S f) X3 D6 o; ~ }7 M/ D2 ~0 s! ^7 r C2 Q
1 R9 O- \; a. M m& { V* C
else {
& u6 A2 G) B6 h: b( }; r5 X) Y restore
! J$ ?" _# ^, P" T/ E di "cannot find pmaxlhddy240"7 {1 E% `/ p( Q; W
+ N% k' Z1 f3 R8 k" S! Z1 S! E E
3 N/ {0 M% ?2 K- T- o sum dx240+ n, L* _% s" M5 z/ i- ~' E
local tempmaxplddy240=r(mean) in 1
+ s$ O8 C; G; _
" g9 F5 Q# ?) I8 l2 X 7 A1 c& N) ^0 }* L
}
# c2 O9 z9 C+ g; p4 ~$ \ : Z# k" ^% _7 J, n8 Q4 _7 V
( c- M, ?0 a& n9 c
2 O7 h& M2 p7 e% P6 y ; ?5 h; n" t D0 ?( F
/ u4 v5 A2 b7 X5 F3 H: a
2 d$ I) R. A3 V1 a gen pmaxplddy240=`tempmaxphddy240' in 1 I5 |. P& }! v4 M9 t( l
& ^/ t$ }1 G9 e2 _2 `1 Q *-------------------------------------
" e- m5 y- X- N$ \. r- F0 B% Q q
8 B4 \$ l+ n$ A. q3 t. }0 n5 E gen price5d=v5 in 1/20' ~' |" d% B5 @: v" L
& J+ T, `$ \7 f# H/ f' [( O# o
gen price5yy=_n in 1/20
) H0 Y8 V8 F, y- r6 M: P ( n# L" @6 }3 `+ f( _, L' r2 z0 K
gen price5y=price5yy*(dy240max-dy240min)/20
- | F, C2 p6 D7 U6 J
6 e5 o2 Z: r! S) n# I" I( y *price5y &price5d( w* F) v( R! z
/ P1 }7 p/ l* f$ k) j; T8 k
gen priceny=price5y in 1$ I5 s' ?* F9 U$ Z% E4 C) m
) R7 m4 f! A7 n' f- `# q gen pricen=v5 in 1& V( I; @2 Q4 D
7 `4 H2 t T8 B) p % s& e( O! `! O; A0 E5 M
*priceny &pricen
- p' [$ m+ v8 m2 o9 ?
8 B+ d/ p) j. Y# q0 b8 u8 f2 x
; |: L) }9 b/ ?) R7 `. Y- ]: }$ B# U) X *-------------------------graph------------------
i; B* f) M) d1 n
7 s8 h& S) l) Q, k1 M5 m: M; k- T 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)* d9 d% O" D! {' r
0 k0 c/ X C/ G% c8 |$ j8 e3 Q
* ---------可选项目----------------------
: _: P; I# @; R, \- }*(spike yxis amean,lc(blue))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean))
: x% @, W9 I5 B7 W5 W1 w! e}6 O, u6 P" I" n0 d0 c
end
* J2 w/ i( v; P5 \3 _ |
|