|
|
maodeng 发表于 2013-1-28 13:13 ![]()
3 }6 U. N g! W. p* \$ l4 P. hello 300236
. b) `$ c. Q: Y6 T' Bstatement out of context
+ e- H1 D1 M6 Q% S- o" k7 z& W" Ur(119);
/ p' ^3 H! G" ?( Q* U' l抱歉,最近太忙了( O5 e# U! g* d$ _/ A
; n) x1 }! s8 J2 d9 v. X
300236 我用下面的程序试过,没问题
. N" q7 `8 _" G1 C
4 a8 F" |6 K$ g3 G你把 D:\stock\test\source 改成你导出的数据存放的目录,再试一试
4 }/ q, \; Z8 G' K% u. S# y* q
, u7 @4 g; n' v* C4 o9 ]& hcapture program drop hello7 C/ o1 C) ?8 [' Q' o
4 ]+ ~3 t. H5 ^. n' [- X* K; [1 H" t
program hello
) {5 Y( \9 @, T5 x4 `& g0 s" X
( ~1 p' A- y8 ~6 f* ~ quietly {5 ~ J" H n# Y0 c( `4 H
7 d! g; W+ M0 Y5 P& @clear
! k, o$ Y- f: m: x1 ^4 Y# k) C) Z. ^- S% \- j. c# q& e5 R
cd D:\stock\test\source' l J2 B6 C1 M' o3 J4 ~* r
. f6 V: S) r# j8 o4 minsheet using `1'.txt
% B7 e4 N8 o9 K
2 N: J) |. W+ ]5 ~5 F! o% Q keep if v5>0
: Y- Q( U; u1 X% K6 @9 w. _ / f4 I/ N* i: |" I
gen vt=_n, L( B v# _) w% n/ f3 w7 _
) `- }9 ~; M) i+ ^9 s) k3 Y) q tsset vt
% S6 d% Z4 x" I" ~% z v) E
/ u# u; m8 N0 b) m9 S gen zf=D1.v5
+ t8 A2 q2 W# V$ P8 ?+ X2 z; R- q. d" p! A; E! S9 r5 z$ z
gsort -v1
3 X& E6 F) P$ R1 S! r% ?" O) A% t) U& |4 E1 @# }8 e
gen avol=v7/v5+ A" ?% n; ?# G+ L1 p
: A5 }- O. E, g. c$ [) j( f
keep if avol>0) {& c! A/ T: w, x& Y
1 t. p) q, m+ u1 Y7 y( ~$ q drop vt9 S2 U' H9 |6 d" d) D' [ ^( L( m: Z
+ o# ^' `! \- J. A
gen vt=_n
( U: _( t2 ^) y" y7 X" u+ i * P+ u8 b) ~$ _/ c2 n
tsset vt& G) N/ {. Z$ h1 _
* l) i/ I) c) k- R
sum v5 [aw =avol]
# M0 H9 u2 Q. Y$ E0 t% r( ?! b6 W. I. g
gen amean=r(mean) in 1
! M3 l6 y( }) O3 E 0 Y6 c$ N# g# z' S& N
* 总加权平均值 amean. x9 D# B0 Y Z* ?. k$ Y
! S3 m( Y2 j5 [! D
! C/ V" Y }* K3 N, a0 s keep in 1/240, ^+ Y/ s& c1 \" H
' E# h$ q- g" ^0 [4 ~ sum v5 [aw =avol]
( O* \ v8 L; y" `( k" e2 h" U% |* {2 G( q: c$ j% h
gen mean240=r(mean) in 1) S5 H3 s v4 E
' f! F7 c1 Q$ U& |& p
*240加权平均值 mean240
$ U! o* _) g2 Q' N6 Q
+ h/ x+ a2 R. x. w" F" m5 J set obs 500
* Y" ]4 a" X' E1 D, u; x; e
) O3 h1 j3 `4 Y a) \ kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph
; U4 M5 D D6 y" Z1 ]4 {% z, ]7 L ! }7 e, f; ?: L6 u6 |4 Z
*240 kdensity(dx240 dy240)
! S1 S# G8 b3 V8 m
! ]# ^! X9 b4 V' M$ Y6 E8 p sum dy240( c7 X- I5 J& v
5 J2 m; }( a0 n0 H0 A8 I gen yxis=r(max) in 1
7 ~# X2 V; M' ~& W( ^4 h' e7 `" T: B- f
8 Y! Y# X. r b& t gen yxis2=yxis/2& S* z: p- B- r
! o3 k; ~& q6 D, w4 a+ S7 C/ F *yxis
* V$ p2 I: j9 o0 k& u 2 T6 l* L, o. `- `' e( j
gen dy240max=r(max)
4 l# x0 g+ N; l/ m+ D
+ I N) m# T2 y gen dy240minp=r(min)+ R [( v* L6 y( b
: k& j; L) c0 B# Z, ^
gen vtt=_n
- m7 a: ~9 g! m3 A9 V/ G, A
' X! j5 Q3 Y6 T8 n; U tsset vtt
0 ` O" ^) \$ p0 i. `* \, _& U( G9 O2 ?' l3 }2 W! A
gen ddy240=D1.dy240/D1.dx240
+ v& x' Z! q# c3 Z& l 9 B: r2 w2 ^- Z2 F4 a7 W& Z
sum ddy240& K! F4 v; l! @) k
( Z/ _$ y: |# s+ b
gen ddy240max=r(max): J2 J) t }' ]2 g4 Q
5 I' }9 h# i7 S( q5 i2 W gen ddy240min=r(min)
$ n3 _: b' v6 m% a4 K f ! G( `. e) F% V4 z# {( z7 r1 L
gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)
6 a3 G8 [1 W. a$ K2 k- C- m
: S; i7 s8 }, ~% w L4 W$ T. W sum ddy240g! `7 D$ D9 i7 H4 U) X
& z% K d( t4 }. h5 Y0 m9 V gen yxis3=r(min) in 1( i ^: ]- l6 U0 l. ?
/ N6 {: i* }' o6 g. ^$ \ gen yxis4=0 in 1
1 B& H" v# f% c y, ? . a6 D! b- G7 F7 q7 l7 m7 [& D
*ddy240g
1 w. I( n3 Q) P; C2 B; _
" K2 v, |. R q C7 [8 G/ X2 u% E & V0 ?$ i, i- L* Y
preserve
7 J5 d" O, W/ u; H/ E! j
# k) p; G2 }* s8 c, i( B4 P sum v5 [aw =avol]
9 ^8 T" N" ~" u( M# }# o) b
; `( f3 i( e( b s7 _ keep if dx240<r(mean)
$ a& G% H( {0 T# Q1 d$ ` ( E. ]) O I. j
sum ddy240
3 _" P8 E4 h) P5 e+ ]1 J $ Z- J2 M0 O2 D8 e# I
if r(min)<0 {( Q. N! T( \% w
# h/ Q6 [. i v7 H keep if ddy240<=0; R5 ~0 ?5 r+ G J: S& d: l
. k+ Y. t8 Z7 O% Z
count
! z, C! }) [* h) d" X% l7 t; P ' Z: z+ o* |8 A3 _( Y
if r(N)>2 {0 w% n2 |( ~8 S1 i
1 I7 J5 }& O# z
pkexamine dx240 dy240
0 q/ @# k2 F! i
% h0 k0 D6 C3 ^" _6 A local tempminp=r(tomc)
" ?% B5 H4 e7 H7 N restore
0 [, g) _, l3 ] }
B+ m- X I% ]7 B3 r' u5 w
) S( W( E# P1 [' J$ A else {+ @6 o. r, ?( j# R' G
5 l# J" T! ?1 Z+ o a( g
di "cannot find minp"
9 K/ e, b e4 |) `( Z
+ Y( w5 X; Q& _8 | restore ( c# ]' Y3 J/ V! C" w6 b
sum dx240! z# r4 g+ d6 L: |- e4 _, ?! b: |3 s
local tempminp=r(mean)2 Z: O- B T1 t9 m: k) B3 ]* H
" r' B& l/ ?: b
}
7 C+ _; G( S6 D7 C a" K! C4 J }5 z+ b \# K0 P. g( [* k( W# D
else {9 j% q! s8 m3 g9 N2 b7 T
: ~) p; x5 T8 m* D7 ? M# [+ Y0 _ keep if ddy240<=r(min)9 U& p; E3 p$ j; r+ Q
6 |6 C6 l0 T3 H" X7 U# N sum dx240
+ E: E% F* K# V
9 n6 A+ O, g+ n' j ] B: K% Y: L7 m local tempminp=r(min). i. y" M6 J1 x8 r1 U7 Z5 E
restore % P( c+ Y$ \+ ?" s+ _
}
3 r! e! \2 Z2 P, X4 W0 s5 D9 z, m! K4 j) c/ {
3 H. T. `5 B/ L. h
0 {3 z9 u6 V+ ~( P' W' c8 T gen minp=`tempminp' in 14 _' ], F S' k- \6 e0 M& E
*240 minp
- r3 }) N1 I& Y" e; Q
( ]! I( L- i0 F% c# Y9 Q* o9 |6 K0 i. @
( y( o9 R: I. _4 `6 x$ l4 _! l& v preserve
' X$ I4 @8 V5 N) o8 d3 w7 Q* B * w* L/ j7 x, n/ i/ J# {6 `
sum v5 [aw =avol]
3 I- J! u% R3 }6 D% u$ H! i
/ E% w# ^' Z* K* ~' c8 F0 M keep if dx240>r(mean). m, E* e' T' P. @
- Q2 m* f; _. l3 W sum ddy240
- o! d; Z: g$ a) U) Q- R j 3 k7 ^+ E! Q/ K1 ?: E8 r, O; z
if r(max)>0 {) G% K8 r, T+ w
: j# _6 i2 D7 L9 l9 b" a6 q keep if ddy240>=04 {* U: Q8 Y% x, x3 f1 ?1 k
/ v/ m1 }$ K( v' r! e. k- e/ a count5 H- k$ P, a4 Q* i$ K2 i Q k
7 w: I1 Y- p+ Y, Z if r(N)>2 {8 @0 e% z2 r7 ~* e A/ u
2 I: B; r+ ^' W V2 d) t pkexamine dx240 dy2406 @- q: M6 m) r
& V/ C2 y3 K6 e
local tempmaxp=r(tomc)
7 F- r7 K8 Z6 Y8 y7 A restore % Z/ @! E* x9 R2 L! l8 d
}
) L! U4 t2 W- v3 t ]' G4 N6 u
0 w; f# W; r+ S) z4 G6 x 6 }$ b, f4 m) z' E; q/ {( b E
else {! q/ {# [: i' b2 V* I" A
restore
) v6 b6 W% y! r di "cannot find maxp"* {! w* Y0 Z) |# X3 T
4 l7 v: F. w+ l: r
6 B* H) o# @$ J, e6 W8 [ sum dx240
. F: X e6 w2 v7 t+ H2 g, a5 U local tempmaxp=r(mean)
5 |- j2 h2 y$ l& h- ^9 S4 W
7 R6 k- }/ n7 z( C$ W+ l1 f) S% r( \# ? }5 b8 L) I/ j4 J4 D+ A
8 h3 |. a7 z& V- i
}
% {! ]$ n5 g8 k! Z6 E! c 3 F' z% ?" o9 b T' F
else {
& q6 I, y* g* U" Z1 P$ O
; C7 J* e2 Q$ u) [ keep if ddy240>=r(max)
# [% N& n$ E, @2 v* {/ S5 O9 ~ ! t. h; n; g2 u% l# \
sum dx240
5 x, d1 J, V3 c# m C+ |* Y5 ]' f ) {4 }1 q1 b% e2 u% S( S) p1 C
local tempmaxp=r(max) 7 q" Q/ b; S3 Q2 C9 ]7 k
restore 8 J+ S( T% c) J1 b1 l
}
A9 D8 M6 D5 q2 j) j 5 J2 x0 T7 `) ^% c4 U+ X! a* H1 m2 f. s
0 _5 |* f; Q9 i6 o
* z. i8 d; z" q5 Z4 C
4 E+ T, D1 ^" Y0 {) A) K* v gen maxp=`tempmaxp' in 1
; n, j: ?# ?/ C
& k5 H. `* }- t* [7 g *240maxp1 i* x' z0 R3 D( V* y% B
3 _' Q) D* ` ~( a- B' }9 ]
) e% {' ]; H8 R# J( J *-------------ddy240pminp左侧高峰值-----; V; y- d" H4 }% u1 C3 t
' _/ R5 [9 j' Q4 b4 K7 L preserve
+ A% w" t! w1 [( W7 [$ ]
# N5 c2 ? y# F1 v9 W; d1 e9 | keep if dx240<`tempminp'
4 r, K. r4 M# q
" ^( t" a; P1 D4 o+ I9 Y5 P keep if ddy240>0
3 D l; G8 H. @, D! j9 h) k3 o1 J. Z
/ i0 g& R3 u4 L1 v5 m count
$ l; C- y n y! {/ |% i7 F# @* w 4 k; Y5 L0 W' ]$ ]/ Z% Z
if r(N)>2 {
, a W) Y p+ O, h
8 }& Y4 G- U9 z5 n5 S9 L) S pkexamine dx240 ddy240
/ H5 g s; ^ g5 z; Q
4 Z5 Q ?' E& X/ x) l local tempminphddy240=r(tomc)
: r3 z+ I6 S2 Y ]! y/ G restore! {8 i, A8 u0 a5 G
}+ {4 k. s1 v1 G$ i; ~! W
& I5 e# H/ \# \* m$ { else {) B* t9 E/ M& j, ~3 h
restore 1 c) t# W ^+ u4 t) u& Z) T! i
di "cannot find pminphddy240"; Y' B7 N8 B; h V
/ y0 ]0 L5 ^$ O- I7 R) Q
# w, g$ W# q4 i9 W$ |8 O" p) a sum dx2405 R( s8 |0 m* v) e0 j* B
local tempminphddy240=r(mean) # ^7 `# G+ B+ T- c9 n( R' p
4 y7 K, G7 k+ j2 m$ o
1 p0 C( i0 f/ R) T }! E. V# i/ \' [! d
9 b/ k4 \, A% C& V! L
3 ?; a3 j% n7 u% w2 a d. i/ g 3 K3 s5 M: L! L2 Y% z$ n7 ?- L0 G* {
: C1 O9 ~% H/ p* \4 ?- M: t' s2 r+ i
, v0 z# D1 J, E) r/ I - A* ]9 Y2 w6 d2 l/ z6 D1 w/ @8 H6 r/ I1 x
gen pminphddy240=`tempminphddy240' in 1
" [" J) v0 n, e( V: N+ A% ~
3 {$ I2 |4 m# n+ d) d8 i# U
6 l! G/ w/ v9 `' g *-------------ddy240pminp右侧低峰值 -----------------$ O/ O- w+ x9 [! I# i1 N, `( A
preserve 7 E. @: S! `! ]$ ]& {7 u
( {3 F4 O1 _, j; U4 w( v" ^+ y
keep if dx240>`tempminp'5 I* c- E4 `) m# }
; [8 _( `, @$ V) `0 ~5 p keep if dx240<`tempmaxp'
4 q+ u* p& g# q# G/ |& m, ]- h) ?( D ( S8 n: P! }) c3 i
keep if ddy240<0 A1 e& M" X. ?2 g$ W1 b/ O
Y, U8 _) K. ?& i# j F m
gen temddy240=-ddy240, e+ M- f$ i- d+ v, A4 n" y
# s3 R7 J: H% l d) w
count
! [+ \' R0 B! {/ o% j2 O
3 G4 ~0 t* v3 x if r(N)>2 {% A. x- i: L) Y, W' D
. F! A( a2 D/ Y8 v
pkexamine dx240 temddy2400 A/ H) T7 k2 l" R: S8 G$ Z
6 v0 f% m. e9 r
local tempminplddy240=r(tomc). m: L1 u; J( h
restore6 y) b! p4 r+ s8 O0 t
}; \9 Z2 i2 N2 I5 E! y4 j8 Q
% |7 }$ v. Y6 M8 H) b: d5 |% [4 K) y else {% |. L& F/ y/ v, L z, C
! Q" u" x F3 q, {2 i di "cannot find pminplddy240"4 H) M5 v6 d4 \; p- l. D& A
restore
2 [8 K, a/ [3 S6 ? $ B6 N1 J6 X# ^1 U5 y
sum dx240
, S& `2 H: f0 P( i% ]0 e0 y local tempminplddy240=r(mean)
# T& F+ x0 V/ ^ M6 I$ E- A . R. X6 f. E0 H, K: j& w8 J+ K5 o
; \! d0 K* P2 C% R; a# z* O }. C0 g* ^- c# e7 X
9 P5 A1 f/ P! x. ]' u , s( n' Q8 \8 `7 X+ q
0 X6 F' p6 [$ @# g+ z/ h
1 Q: a" f4 O8 y4 [' G' O
/ r+ I% p# Y9 ]5 Q gen pminplddy240=`tempminplddy240' in 1
( ?; m- t$ d! E/ x, C; ]4 _# L ! H2 f# s9 r3 z
*-------------ddy240pmaxp左侧高峰值 -------------------5 |* Z: _9 s+ z6 c% f7 d
% F0 r* X" H- r/ \& \$ M# f preserve
: k" ~" m! `* ^
' d4 u6 j' o d6 t; Z. c keep if dx240>`tempminp'- ?) W+ ]0 S) \0 q4 k) q+ z7 \
) [+ @, s" p* ?. {* c' P# H keep if dx240<`tempmaxp'1 \5 P. n3 _+ r& O
7 c. i z' W0 r- O6 J
keep if ddy240>0
+ C, t C3 S G count
; `' _) t6 Y8 z! N5 I$ l
0 r% Z' ]5 O' k) ~2 f if r(N)>2 {
! v0 T( z% N1 |2 C: }* }
" V1 a1 x$ t+ X0 q' \1 {! Q pkexamine dx240 ddy240
0 g: p/ j+ u1 D& w" t : `8 [0 X6 K" F/ L% M: c* }. J; Y
local tempmaxphddy240=r(tomc)
; c4 H+ o" \! x% S8 [( C . b, ^+ Y# K6 \* z S" g9 f
restore: n$ _9 ]9 ] j$ N( z
}
0 [* b0 K: U/ r$ [! p
. q4 Z1 I. }- B+ Z% x. V else {
# f4 o" y4 ?7 y( F1 T3 t2 ?* Q
4 c5 p% k7 p) [, G( `, i; n" R! K di "cannot find pmaxphddy240"
2 O1 Y( R+ u6 ~9 m restore; r3 w" D) M8 r2 v
: Y* \. Y, j& k; A; o sum dx240- q/ ^! `- r; ]
local tempmaxphddy240=r(mean)
% r, g$ Z. c$ ~ 3 v" w( Y) J$ M4 b1 M, }
5 ~7 y1 U5 w' G F# K% t }, r2 f+ ~8 F; r
4 X% q: X z/ e" T6 h/ \7 C2 ` ) a; X8 c0 Y8 e; A) |! m- m/ x M
5 W8 m, g) \) M, P2 u, T4 x% T" D# [ 5 m; X J* S) ~* q3 j8 f
L h9 U% T8 A# \5 C0 K d 4 F! B- I* N; b% E: l
gen pmaxphddy240=`tempmaxphddy240' in 1* N/ I) [ S3 ~! s9 w
4 E! H( ]3 k! R
' B" |" W T; X; J B *-------------ddy240pmaxp右侧低峰值 -------------------
% N/ n5 }+ u3 Y& Q( N; U Y 9 b) j3 z/ i! k% l( h
preserve
- y4 P( z0 t) S8 n # P" R( |, m2 y* a, M" K
keep if dx240>`tempmaxp'
9 r. Q4 X: P6 {: [% }
; `+ _: P C1 h" C/ g' {$ `/ ` gen temddy240=-ddy240
: N- |# ]" R" O: e% R: _
+ w& {! o" y+ j1 @- N0 d. B+ K4 n keep if temddy240>0
& y! h6 N6 J4 @9 a8 u* G6 O/ P' X
, F e0 W: k0 i2 Z( j+ c count5 P, ?% C0 t3 A; y! I) I
% `4 E5 S0 l' a" p
if r(N)>2 {
9 o1 P) N) Z% l* D2 |1 E" w! | : `$ D# c. ~! T; u$ j1 k( d7 H0 C
pkexamine dx240 temddy240
7 X" {; S Z* Z; E, ^7 P
: W& Q2 r8 v- N I- P" t local tempmaxplddy240=r(tomc) 5 ~1 G" I! \* y8 V4 S
restore
; ^ B+ K1 Y! D. V |: n( f0 s }1 V, y) l ?9 D6 j
. D0 \% E4 C- x2 _4 m else {( ^% x$ x9 J: T8 G8 o' \" ~. ]
restore! v; b3 y; n& J" n8 E9 n
di "cannot find pmaxlhddy240": l6 @* x! V1 \0 W+ n% ?! J
2 x* A! S0 z. M9 l. T' i
' r* r6 x ]4 j. B: u6 j! `! c3 z sum dx240; T" C" ?# u8 }" d0 R
local tempmaxplddy240=r(mean) in 1
|; Q/ |3 e$ C% m8 _
8 }( X; [1 d. ~' H% G4 k, r
! X- \3 O6 h- D" s! t }3 i; @/ g) r' w N( f6 P
( h9 j: D0 K6 W
! ]6 r* \6 d7 G& A9 Z
9 j5 [4 i% d0 P1 k& X3 Z
6 I( K& F" T; q v
" d, ^7 ~3 N5 m+ p
- W+ n$ ~; ?! K1 ~: _7 E3 a gen pmaxplddy240=`tempmaxphddy240' in 1
( S6 ]' z2 w" E2 V. W- I% D- a$ j9 j 6 m: R3 `, n8 K; q6 t) F; y
*-------------------------------------
/ |7 ]2 u6 N: ?6 ? ; {+ h6 m7 _* @' a
gen price5d=v5 in 1/208 Y6 z# B7 G' [
+ d- z6 A# u' F+ U
gen price5yy=_n in 1/20- O, ~) y! ^/ l
4 t X* @, p9 i; T% z, E N gen price5y=price5yy*(dy240max-dy240min)/20
! t) L! u9 ]4 X, M+ f% j" U
3 L, _+ z; H, G *price5y &price5d
0 L8 H0 Q) t4 h7 y5 G7 z
, l/ X9 c8 \9 H3 ~ gen priceny=price5y in 1
/ c) \2 H! a$ ^ , n# g# I# R: j/ M* j1 U+ @6 ]4 O- ~
gen pricen=v5 in 1
. ~5 `2 Z. E/ R( @; P# m6 J \- h, w4 `
' R3 B( {# z( i) Q2 ~/ m
*priceny &pricen
0 k/ D2 q( C4 M2 s / t! ? \% \2 }' ^, G
: X" K' A. S$ M1 z- Q1 c
*-------------------------graph------------------
- a$ g! ]5 l/ H& _. u9 f . C$ c; h; } i0 S y/ o, \: n
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)1 c' G# f: S& r* w7 Y
$ r$ q: u X* a7 t& W6 U$ f$ B% {* ---------可选项目----------------------
8 c- t7 c6 q5 n% S3 n*(spike yxis amean,lc(blue))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean))5 J/ f1 ]1 E2 k+ D5 R+ `0 d
}- R8 W( j3 z ?* I" T
end" e. N( L: I3 w
|
|