|
|
maodeng 发表于 2013-1-28 13:13 1 }) w" q: ~) m' f y3 H
. hello 3002369 m$ R+ ]2 s1 F6 F6 [1 u
statement out of context
/ g0 c$ P2 \/ }! {5 [1 @+ wr(119); ' v4 n) j8 ?* h e# ]! } Z
抱歉,最近太忙了5 C/ H7 R v1 Z9 u
3 @9 M/ Y) m0 W' W0 }) f8 l300236 我用下面的程序试过,没问题0 N4 }1 V: X/ ]) M' P" f" p6 x
9 A c( X+ |+ d8 A, D1 f; b
你把 D:\stock\test\source 改成你导出的数据存放的目录,再试一试: b( |. ~4 s' B! G6 y# t' W
7 F( [$ i2 G- h! r/ c3 r& xcapture program drop hello4 h7 J+ o! |2 E, w+ I: U
$ b4 d) @: H v# ^
program hello5 i5 \) q( \2 I6 J
, z1 _4 E' N+ C7 R$ ?9 T
quietly {5 U5 g( Y0 l# x2 G. X9 g0 V g
. j/ [/ }$ Q% N/ v' C% h. `clear4 b! c6 I% ]/ k% @, ]0 x
/ Z7 o' M+ [1 J1 |8 Ecd D:\stock\test\source
4 S M1 z5 u8 I d$ W+ S, ~: `+ E
insheet using `1'.txt
/ s T) h5 b2 R; }6 `' m" n6 Z0 ~0 a9 Z2 @2 @9 i3 o+ W) R9 W- k
keep if v5>0. f$ I7 d/ x3 ? @* a
" N( ]3 X* J5 C. _: q
gen vt=_n$ N$ W6 L1 Q+ }7 v( S8 ]
( F; f* ]% \+ U, J$ {3 C4 j tsset vt
( J/ u- h0 ]( d/ V* k" R( d4 G- X4 }# E N6 R$ R9 @) U
gen zf=D1.v5" R! g8 a3 c+ v( {+ m0 @3 a
- G% U" H. B9 q" O2 }
gsort -v1
" L7 C. k( X- b( v) j) R
5 j! W: w- J* R6 l% p. F4 X gen avol=v7/v5
/ w r* [$ ~% g5 m6 U + e, t+ S+ ]8 V" a1 |/ N% f# c
keep if avol>0
( c* `+ `0 T! F6 |) |9 r 4 \! _, Y3 E5 K4 M
drop vt* q7 B+ A+ w" e: O+ |
2 o" Z' @/ v0 q. ^ gen vt=_n/ q4 K- i; ^$ T" X0 E1 ?
( T% ]0 L& A% U3 k8 U& t
tsset vt1 v! Q' X. w$ [' M
3 Z, }- K! Z T
sum v5 [aw =avol]
: D8 x; {/ h: f7 s8 S
$ z$ W/ g5 c% O5 h gen amean=r(mean) in 1
' n, i& L+ U& v1 E- u8 o 6 }' S1 K* x- I y m* Y) D& D
* 总加权平均值 amean
) ], F% M7 m- y4 K7 I f 9 j( F0 C) W) v4 W% M! T+ Q
6 ~, g0 v, P# x% K$ g keep in 1/240
6 u4 H# D5 Q F7 z$ ?3 Q/ y5 ~
- V# X" L3 f* Y- e sum v5 [aw =avol]8 v8 H2 e, X# d; c3 y* j- W
, X- s$ l$ c4 {' v& q! E
gen mean240=r(mean) in 1
/ R: Y n: G3 T5 ? 7 W) D" o! }- E0 e! K9 ]# l# ?* Z
*240加权平均值 mean2403 J- k# |) I: H4 _" |5 x
0 F3 Y1 E6 [+ s7 ?! Z8 u set obs 500
6 R6 ~4 `2 K v) `
5 L8 H* o3 q$ y" m; E b, l7 L kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph
9 {$ O& H1 ] v/ ^! D 8 g& l' J1 e2 D! l: e! l; j% y
*240 kdensity(dx240 dy240)$ D( o! H! V3 N
; \( A6 U$ k/ S$ \ sum dy240
9 |% f( f# n1 `) j$ d 0 H% [' S; S5 T* v Q
gen yxis=r(max) in 1
4 y# s/ Z' {0 t8 u; e a3 i0 m
9 P: y# {- z, ?% x+ X: Q gen yxis2=yxis/29 v8 T8 T4 t% }4 S' [
+ L# F. {% }4 X( v *yxis/ k3 j: y0 Y- t. p: z& w
; q, `4 V D8 {6 V' h3 d# N
gen dy240max=r(max)0 E- ]3 l- K) k4 \! K
! r* U3 e- O4 }. o5 u+ O2 p* z
gen dy240minp=r(min)
+ `0 `+ e0 n! i$ |; A) x+ t, H : F# d0 |: v1 ~( S* M1 s, G3 Z
gen vtt=_n
( I( F0 T3 c2 h$ V7 e5 U1 l( i( _% k0 i1 _5 m" o$ n
tsset vtt3 N1 y9 r) V- O9 _ b0 a$ p+ w
( Q! W- Z1 Y/ S6 s gen ddy240=D1.dy240/D1.dx240
# e3 N6 ]% N" N- { 2 D* N$ w" D+ d/ D4 H1 O
sum ddy240
6 F4 B& p+ _$ x9 d: s5 J # b* P0 v3 e7 \' s; ^" J
gen ddy240max=r(max)3 L6 `8 z- i- H) [% v! F" u4 F( G
* h) ]; Y' R& I9 r" ]) m9 c gen ddy240min=r(min)
! k/ Z1 q. s' x' X( V. V1 E: s
4 [, g" F6 S+ R, N& n/ \" J! g gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)
1 G! D( x) w/ |6 B. Y9 [' ~: k6 ? 3 r' Z- N( W7 u8 _7 L; n( R
sum ddy240g4 [4 i' B0 Z! N" {8 \) ^
: _4 V. O! v( w3 e: |3 @2 |* A
gen yxis3=r(min) in 1
0 n* P+ R8 Y+ }' f+ P - A% b7 d& n# d! K* Y- d7 u
gen yxis4=0 in 1 G* O3 t1 n4 } i3 ]- f0 Y# B
( @4 [( U4 p- l6 L! J0 w$ K *ddy240g 5 k! m. Z" A6 V8 @5 [* G: p6 t# L
3 X- S; @2 x7 b
7 i; L) E+ p3 }/ n0 x5 M6 h
preserve + @2 O) p0 V; d1 L9 F" ?
8 {, A8 u q) `/ E7 K& \2 c; I4 W, T
sum v5 [aw =avol]
0 e+ z* R3 [+ U% K - t4 G! i3 G, Y3 X8 x
keep if dx240<r(mean)
' e/ j' q3 G1 t7 ]' S: r 6 r% e; r- R. ~% s
sum ddy240- B4 y- j4 J* l( ] F7 ]8 I0 `% e
# P$ x& ^: {5 n0 z! r0 k4 C if r(min)<0 {
p" Q. E$ O5 r8 _* S* \
7 g2 i" f* g# J& @' Z9 A9 f& J keep if ddy240<=0" R2 w9 g0 c2 H, I, I s
; k$ q/ X$ Z/ x: m6 V count
$ N/ G$ i6 [0 L, [4 l |5 d+ {: R" G$ W$ {, q6 x% ^
if r(N)>2 {
5 a6 G A% z* w % n- n" H4 i4 x
pkexamine dx240 dy240
/ ]0 l0 S5 q/ S/ ~" q 7 C" ~( C. v/ O
local tempminp=r(tomc)! O# j$ {" T9 s/ p8 U
restore
7 N7 f `' d* a }
1 r" B. n& H5 d y8 S5 ?/ I2 O4 B, c
c, y3 U! G$ r- l. J* n8 ~* H' V else {# s7 w/ V' t. f0 f" L4 v
' V% ^+ e) l. f2 o3 @
di "cannot find minp"+ v% S* O) b& ]
* r8 m/ I7 C% d% Y4 H" N
restore
. f4 s# s7 N' C8 n# q. Y @. M, |4 h sum dx240: J$ ~( {6 x$ v( a+ v6 V! M3 a( N, n
local tempminp=r(mean). C9 ?* N; S' ]# s9 f
1 O/ f1 v" l+ m" V0 k- b O }: ~* L; J, l9 E5 s; S: j
}# ?( g1 [. ?; o+ ]
else {: `! W6 e% d8 H! A9 w, ~* p! U
0 _, g* I* u4 N9 q3 y2 w8 P! k$ i keep if ddy240<=r(min)
4 M/ g, I0 T T* r+ }
: e2 F" Z4 \3 ~" V L( c4 e sum dx240
( c3 r5 T" z: j( ^* C4 ?/ t' L' S$ g
* K, v7 S3 D* M7 g local tempminp=r(min)
5 q" t& ]6 \5 E4 m restore
1 i1 N) E0 D# X }
/ J- n- R' q% i! C& [$ v: ?# l+ k' L$ n! `( n4 d7 @. `2 Y, W
0 j- s+ Y9 }: I0 h2 |, x5 x
, S8 P, V- A2 X$ t+ d: P gen minp=`tempminp' in 1- p8 x7 T: W6 @2 Q& M, |/ b: U
*240 minp
2 [! _! }' h6 w, c" W/ q/ g# Y2 ?3 Q; I+ T) L. J K7 z
$ L7 Q: F# C' e% `- i D ) V3 K3 Z/ l& H' |2 Y' V
preserve
4 n5 r. E5 j6 C9 ^
; t$ D% _ A: B. D- F sum v5 [aw =avol]% U- V3 n3 @" N1 j
5 D. D2 i) w3 d9 h
keep if dx240>r(mean)8 c7 q! t8 m" ^/ k$ P
k. X$ @2 f/ e. W! G$ J2 j, {" f
sum ddy2400 I) K4 i1 q6 p
' b; T" D* H5 }% E7 ?+ }
if r(max)>0 {
# E/ Z% o) W! E
; Q9 l; p' ~# y) o" @' v+ p keep if ddy240>=00 V, Q+ _ x3 Q- w; o$ f2 \! g
: p5 Q6 [' b4 f7 U count( Z; u7 s: q7 n6 x2 h& M% q
* x; y! |/ N( @9 M if r(N)>2 {/ P. x% K( |" _% g- Z$ Y, p
; ]5 c+ a% X i# K
pkexamine dx240 dy240
/ d& D6 K" G. p2 M$ P# K: B
/ c; Y6 ~/ Y/ m7 V# u* F! E local tempmaxp=r(tomc)
1 H# t/ W7 \$ `- K restore 9 u7 n$ v' {( Q
}
5 y6 m5 w9 J( T5 T) ^. @/ J 0 [: Q* [# R9 R
`* N) k; J ^ else {+ G4 I+ _! w, X; G" Z7 l5 F3 i B
restore + R' r. o( k5 N9 G- y
di "cannot find maxp"
. s9 L8 J; {5 [
( Y1 F3 u( a% G: \ ) M' R" v2 K: W A
sum dx2400 }# }. ]1 j0 c
local tempmaxp=r(mean)+ c( }$ R. u) I0 e
% @1 x) \' D% e4 u- i! m. u9 @ }
7 V4 B% @- e8 t+ W5 M+ e ) X& p, a- s+ h) T
}
, U4 d, v) t4 v/ G$ D; e $ f7 ]; ~) ]7 \0 \1 |" H
else {7 T2 q) X6 L6 [$ \& ~. i; `
! y- x" F7 y. t6 K keep if ddy240>=r(max)) h% P; F$ W; f) C0 o: M/ N( G+ I
+ ^0 k; I. R7 r
sum dx240# R/ o$ o5 ^5 T9 Q
3 }" j$ X9 a/ B n$ [' E! [
local tempmaxp=r(max)
5 }3 E% C" ^& S8 x restore ! e2 ~& s4 y t1 {' w
}
9 R- r& r$ S1 O) a5 y; ? + ^% I) O P0 m. G& C' k
, [) D$ b+ w; D0 G
; b. E: `3 t" y* q9 D3 H( h5 U! M/ o2 f# ^; U% w6 k" c
gen maxp=`tempmaxp' in 1+ C; `( b5 ~5 V. p
; {5 g1 \# L+ R& |
*240maxp0 R! J$ r, E! H( [. A9 B
' @, j7 k5 k. z0 r. o/ V
) d) u# ^1 K/ V! c' a( z0 o* V *-------------ddy240pminp左侧高峰值-----
0 Z: N- T6 b( W1 Q4 o- o5 | B , S, f9 L- X# h$ V2 [
preserve + N |0 [" U7 Z. k E6 ~( Z: z
0 V, u; ~% O; a" h: o( b
keep if dx240<`tempminp'
9 ?8 P; Y/ i# T
3 y0 p$ h( C2 t% E, X7 Z keep if ddy240>0
; `6 X8 ], A3 U+ m% y4 j' X1 ? 2 h# W+ f: Q: O& q+ V2 c+ {& _; b3 X
count6 J- u5 ~6 y' O/ `" b2 T$ ~1 x6 }
: g3 n1 p3 D" ?, i1 U* x) K
if r(N)>2 {
& v3 d1 d" i5 X* L3 g# i3 Q& a
- R" X% i* N# [2 Z! h! E pkexamine dx240 ddy240
3 l% B; N$ N# {+ x0 v( K0 G4 H! B! u/ @ ' W1 j; }! p g8 e" ]% l' L
local tempminphddy240=r(tomc) 0 ^0 y7 {4 }3 h+ i2 }6 I% P( {
restore' n8 m& d3 S% A# g. S
}
- w2 C" y$ p) ] r+ ~+ f! N 0 K% \1 b3 C5 u, o* f) ?
else {
y0 l9 X& P5 A1 p/ X restore
) y4 b" c* A& M8 D* v& r di "cannot find pminphddy240"
; C Y$ M' h/ s. o- u, a. E; I
; E7 f3 Z9 x6 t& C ( F+ f( v. e& B! `
sum dx240
4 T. a0 [3 T2 H/ V8 r; `! R8 O local tempminphddy240=r(mean) 4 z& q4 j/ ] Y8 M7 N& ~
+ I$ @/ d7 [4 y2 s) _* J
4 e" i3 @; V5 A8 N }! g, h6 n3 H5 B
+ A2 {! q+ N, i7 S4 _- C9 F+ e 4 C- O* v0 D6 c F
. O4 I% I( F3 w% @" s7 X
% c& {# S$ S) L) c- |
9 @5 t. `" Q0 Y/ s1 A R; ^! P {# F" q0 X
gen pminphddy240=`tempminphddy240' in 1( l% w1 d' l% \2 B4 z5 G6 U5 t
- A# u* o6 M/ u8 j* z) w l
$ \9 h0 F. W: m a) x *-------------ddy240pminp右侧低峰值 -----------------
7 ]( r/ ?5 v4 Q+ `% E preserve 3 L7 ^4 J0 X+ }; H( e7 ?1 }
2 q5 ?; @; [) T/ [. E6 e8 w keep if dx240>`tempminp': ^& a( E2 [4 h+ e ~4 t" k% F1 o
* `- z+ ~1 `' N1 O/ H3 p% G
keep if dx240<`tempmaxp'
8 ^7 I7 M2 K* z3 e. K" o
& {. ]- k* u1 x) R$ h+ z keep if ddy240<0
; F- |% r, f8 J
$ Q$ ^: }5 @6 R4 _ gen temddy240=-ddy240
, O. l5 |; h# ~: _# \; `. P& q - \* H1 ^; g2 L: R
count
/ Q7 g4 z; T$ P' B; D \' e # [- D' F# M) {3 Q" O. b
if r(N)>2 {
% _8 u( v# {7 |( v4 Y. s
* V1 P) i; g% ] pkexamine dx240 temddy240/ I5 l! u" }& w: K9 |
8 Q& {" } q. W* ~ q. p% D0 w8 P
local tempminplddy240=r(tomc)2 j+ w, I# p, g% k& w) [
restore
+ k& {4 n9 x- {% n }
: {9 l4 S$ B0 V \- Q 6 @2 ^& k7 J* v7 b2 v6 L0 ^5 k, e
else {- j" w2 B: e9 ?1 y( c
6 }4 t& ~+ c* X0 U. j* w di "cannot find pminplddy240"9 l V/ S; ~' M/ Q
restore2 n( V) J7 z" N! G1 [
4 c2 s7 F9 ^# n8 b) F7 |$ K7 t sum dx240
1 ] P, ?- i( E9 {$ U& O) r6 b; g local tempminplddy240=r(mean)
1 D- i" j2 f& z# V
+ y) L2 p# W, F' J1 ]
! A3 n5 ~3 A% m* Y6 \ }
_, x; a# Z$ M2 y3 r+ s* ] 2 t; r# j/ N5 a# n# i D, P
- j7 r$ G7 b1 o% S* j! B
; y c& d! n3 l. c: L! S & L( e c( K$ T2 @7 D+ p9 J
2 k. [ x0 j* O gen pminplddy240=`tempminplddy240' in 1. P: _8 x3 H7 c
$ j, v$ N7 B- k( a' E *-------------ddy240pmaxp左侧高峰值 -------------------6 ]+ n1 H2 H, O- _
- E$ S9 h: D0 D/ B6 q( R preserve 0 ~ n) k _1 a ^
) v% n3 Z9 o7 H0 ?
keep if dx240>`tempminp'! b( \4 N+ d2 T% l
8 p* i2 y5 I, n1 ]3 i( ? keep if dx240<`tempmaxp'/ V% u* X1 D: g5 N
0 V4 N" t0 v7 T2 G keep if ddy240>0
1 E* b$ m2 F, g$ S X count) M Y# k; R. o3 I/ `
9 r3 c! W& i# c3 | ^ {' {" A5 B if r(N)>2 {( p9 T0 [, v. }7 N2 j* U' {3 I
" e8 d+ G% k/ F: { R$ p pkexamine dx240 ddy240: k7 t3 o9 Q {9 b! s; c5 g! }: U# h
8 T3 w0 h7 p$ A; X: k9 Y local tempmaxphddy240=r(tomc)
* F! A/ K' u' Z/ a) A $ N/ {3 {3 P0 c! U% k" P
restore7 v+ a8 U0 W, M8 S+ G! Z! _8 t0 W
}5 b+ [- P* F: s+ F/ A
1 ^3 r4 F* E' O5 t6 z! J
else {& X; s1 Q3 Y3 c: f/ R# g
3 n* x( [. d/ v: n
di "cannot find pmaxphddy240": F8 f' P# A( f7 y) y; k
restore
6 k; J1 X% z( k+ d * J* z# H( @/ g: g+ b
sum dx2407 e3 \" S5 r7 p' C! E
local tempmaxphddy240=r(mean)
# M7 C8 @) ~, ~- d" p* v( {* J
7 q% I& t" O4 ]) k" {
6 x" i, E$ A+ |% A& z }
3 M% V& z' U) {# u& T4 L; U
8 ~# Y% F1 B5 R8 h& [5 [0 _4 k: z " ?$ j+ \! m' c3 _1 Z- }- y: S' u
2 u% @" ]' O* ^% m2 {4 ^" u * g/ M! j7 R% r
/ X$ r, X0 o7 v6 X3 s$ E9 `: J- e, b
9 d7 z. C Y; r- K3 Y3 H) Y gen pmaxphddy240=`tempmaxphddy240' in 1, ~& D, \/ X5 `8 w
! p: ?$ p0 _0 k [1 l& Z- G) l# i
; i3 T) J$ N6 \% Z' |; R$ r/ t *-------------ddy240pmaxp右侧低峰值 -------------------! A5 |: m& b/ B$ G
/ ~1 b% b% B; s3 L* q preserve
: e6 O6 _ f) J# q* O$ [- S. Z - T0 m. [+ d( F# Y+ T5 C, B
keep if dx240>`tempmaxp'% t6 e' I- G' C' p" G! s- K' z
; }% G( I7 }9 d' g0 _ gen temddy240=-ddy240
) e+ q, e# O+ [) U( T P 0 ^( s5 g/ r7 F1 n& w3 w# C
keep if temddy240>04 M' k+ _2 x' w" y9 v+ I. E
9 P9 D9 v( R- a8 X7 f% O" C4 K5 \ count" x2 s/ b, i$ n4 V8 T: v% Z
# ]5 f, W4 f! q) { \" j1 ^
if r(N)>2 {3 j; j* u% N# D8 p) n
# J. f3 J2 k) C6 g
pkexamine dx240 temddy240 s+ x+ \' T2 u/ s+ O
' R9 o; w% d0 x6 j7 A/ P0 k local tempmaxplddy240=r(tomc)
" Q% e: f2 J' V7 Z0 O3 t( f, ^ restore
% S6 N8 N2 K; }" C }
! |5 A( X' d$ C
( o" y5 d; ]7 n& E8 N else {
) v, w0 t, P. M$ j/ j4 v restore0 h5 w% \2 Y% A% [* U
di "cannot find pmaxlhddy240"
4 ?1 ]! s, d7 [/ J( r, t" @
/ D' f# `" e& B 7 m3 A! l5 B* p8 j: ^' d8 J7 ^
sum dx2406 Y6 c. ~' V9 H1 P) @
local tempmaxplddy240=r(mean) in 1( b Y( d/ [- {/ Y
' \8 e0 e" F7 \" z/ I- C& T% y0 O
' s9 D7 R' e% q }
7 O2 z |* d( F7 @4 S 1 d# v0 P/ C5 m
) f' O6 u. {# C ! ]2 \1 G* N, x2 V( Q! l
9 T; H2 e( u2 X; S! U
$ N9 T- y7 T6 a1 y; V2 k
" j/ b# j8 d, g) v* t% I gen pmaxplddy240=`tempmaxphddy240' in 1
0 H- ~3 h( l H5 i/ i, i+ ^
5 } p- X9 r" ^& E n5 y *-------------------------------------. }" e( T5 y1 a2 _' O
: S0 M: y+ M$ r, j1 Q gen price5d=v5 in 1/20
% N- f% Y) ]2 A % l3 F6 G2 V7 t- l$ c( w
gen price5yy=_n in 1/20" B, h9 s' E1 d7 a6 k) G1 P; V
1 y' k" o" I3 C3 v) v gen price5y=price5yy*(dy240max-dy240min)/20, g# H' O, |! }3 i; i9 u
1 Q5 z! b0 o2 e& |/ S *price5y &price5d
2 `6 \5 l: j- \, G$ \& q , S5 C+ K- o! a4 s x; `
gen priceny=price5y in 1+ u t: O( z4 J* N, P
% I5 O x- c" R3 }& c3 B8 M8 E7 g
gen pricen=v5 in 1. f! k& w1 ~( S% k
/ Y9 x3 i3 n+ h
0 O$ @6 ~! R" |% j* I! ^: E *priceny &pricen' ^4 Y0 ?1 L _8 y) q6 V% q
" i1 g/ U+ Q+ x# f " i8 D, z# V1 S, K9 I
*-------------------------graph------------------5 D) \9 G2 B" j9 Y, k
1 ^' w( f6 f: {4 n/ 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)
9 e7 k; o b1 U8 ?: E( z
' I7 }# f3 C) y3 t; S* ---------可选项目----------------------
% Y( }- c, ^5 G' ?$ S*(spike yxis amean,lc(blue))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean))
# @- z/ t5 j$ l}
0 C/ z4 u6 |# x3 {8 p/ zend7 Y/ }! D" L& u6 ~, l9 i- K
|
|