|
|
maodeng 发表于 2013-1-28 13:13 ![]()
# g9 Q: O* a9 t/ t! J8 s% r6 q$ w. hello 300236
6 n6 g* x% x7 T0 r; G' f: `$ {% fstatement out of context" e M6 q0 B* p2 Q/ m" N l
r(119);
# p% i2 D1 s% O1 f! H( k抱歉,最近太忙了
4 Y- P9 ~+ u* ^7 ?2 j: `% p7 T. ]( q R3 o+ m" K3 M* |' m+ h0 `
300236 我用下面的程序试过,没问题
5 h+ ?6 ]. r" d8 n5 X; b$ m" ]
: n/ b" ^' K" d% y你把 D:\stock\test\source 改成你导出的数据存放的目录,再试一试
& v" A( E' ~7 W6 {) ~" L
5 q9 E$ \6 ^. a* n& |capture program drop hello! ?& @9 F3 N3 E3 C
, m) G* x5 i' M3 F7 t3 a" j. X* C6 pprogram hello
6 O( @& m9 z, y' [$ N! B3 |- J' r+ ^0 X9 D
quietly {
7 H7 \0 N3 }7 b/ r' E' e' \$ x; l' U1 I( F8 O
clear
5 `9 `" a% l6 l- h' I8 I' a0 @* u) Y( H7 f/ T7 s& U
cd D:\stock\test\source
1 b+ Z a% ^- X5 y( E9 Z" G9 E) Z# j5 {+ w/ p+ t$ M
insheet using `1'.txt# b8 ] j7 s; Z- p+ _& U
m0 B4 l; Q' m$ n! R" u keep if v5>0( Q2 n s ^9 o. i5 q7 @
; b+ b5 R/ a0 M( G. I gen vt=_n5 `- {* `7 N. o( n% g V* m' l( E
3 N. R6 G, M; q/ G6 I6 w
tsset vt! C4 H7 s! e }0 d& x
, @/ f+ o, G8 @
gen zf=D1.v5! x# s, T) }% t6 R( n& S2 @
+ j) D p6 O* R) G( o! w. R
gsort -v13 \" n% f+ h: g2 v2 l% e, s. J
7 X4 k2 g5 V) ]3 K. ?8 | gen avol=v7/v5
+ D5 H: ~3 h3 w! m; p- B$ Y9 A 7 Q8 b+ d ]8 Z) ?1 e% A
keep if avol>0
7 h7 X7 s" u8 T( `
, Y! h) D/ F2 |' x6 [ n3 ? drop vt! v9 X4 Q! V Q. f- D9 J
! v+ K9 B( o% {) l
gen vt=_n, \6 C7 w1 s0 c. B1 c
; y. H- m* O4 r' X2 d) e$ b, P
tsset vt9 ?' q# v) x+ @7 G( s" g
. L6 E( W* F q6 w sum v5 [aw =avol]. `8 }: g/ n6 E& ^- n! F
3 v C" c2 Y* x4 Z, k" y gen amean=r(mean) in 1
. d ~2 F9 B9 x) U2 M9 v1 E. p
: U6 h7 g9 g2 q- ~# I * 总加权平均值 amean
) R5 d+ |2 `! l+ s 1 D& E0 K3 B5 v1 w8 {
' F- [1 n% ], L+ q# [; b keep in 1/240
2 m' k1 l- q/ Y0 ^0 F8 L6 e G' J9 q3 P5 p# ~
sum v5 [aw =avol]" D* s% D" P& f& c' H% _8 q! @+ _7 w; _9 g
1 ~3 L, \* c. }( L% b gen mean240=r(mean) in 1
( y0 R) ]$ B6 j4 X & m \1 A% i7 C4 ]' \: |) Q
*240加权平均值 mean240
5 }( M% i4 F9 ~5 h 1 S8 H) L( K- W( E
set obs 500
$ C% _; l1 W, F7 Z8 L3 m1 j
, ^+ }9 v. y) X0 O9 u+ b kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph
5 B8 I' k0 ~7 w( f/ K) E5 P 3 N* |6 ^- v5 c( ]7 s2 }/ p
*240 kdensity(dx240 dy240)
3 A l) [- y5 @8 M& W$ a 4 P [2 N* ]2 M! ^% ?2 i5 @
sum dy2402 N/ ~, g& A ~& _0 o, a
0 M5 d: I2 _5 i gen yxis=r(max) in 1* M8 j! j8 Y- @: \: e/ m
! j2 z" _1 t: k3 n
gen yxis2=yxis/2
0 m. | N$ v3 d4 E
1 ~* y6 U M2 f! A" r& L- L *yxis) R! F6 P- }8 t" }0 S! ]
3 \- R, p9 A4 y9 u9 b1 G/ S- e6 D! U
gen dy240max=r(max)4 ~( @: D: m$ @( f" o! Q
. H4 n$ G1 Z9 h* A% D+ V4 y gen dy240minp=r(min)' H! S: g5 o7 G
8 j* `. @! Y/ r$ B- P1 z gen vtt=_n
% s" Y6 T/ B# T# H2 @/ D* X. y4 V+ h0 N& ?
tsset vtt
/ _+ W, s D. V7 X! m( _6 H' C/ M9 u
gen ddy240=D1.dy240/D1.dx240
1 K. q: J, D0 ^ `
. t q t$ G( m: W2 x# { sum ddy2402 G1 K4 M. g1 h
) S$ t0 y# M: k/ } gen ddy240max=r(max)( s( M9 N6 \' ?) }
$ U4 N$ ` S, R+ r$ R# H. p gen ddy240min=r(min)
+ u+ c/ E- F& B' S
# h1 a, a) W- J% y% ~1 i gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)
" D# }7 c# F- k 7 r5 h# q7 l, A/ `' [0 p( M
sum ddy240g
" h$ {- h- F6 h( ` 6 {: |0 o- e" n1 Z/ q
gen yxis3=r(min) in 1; N2 L& V+ R1 w' q
3 X) v/ [2 J5 q0 ?+ i5 q/ Z7 S gen yxis4=0 in 1
$ E+ Z+ c; e6 g" p. E" E 5 f# w* r8 M: B1 k$ \# ~
*ddy240g
4 v7 f; m$ m3 u; U! L+ H : b7 b3 `. B: \! p
9 h. f6 L* {" L8 m% b7 s
preserve & e. D/ i X! s% V, l+ d1 V" I
' w* Q; t6 R/ C sum v5 [aw =avol]% s0 t# @) c$ k; j7 j; E1 `' G
# L; V% i( C8 R5 K keep if dx240<r(mean)
, \. Q1 r" d( ~8 A
9 V$ B' H2 [0 a7 Z* i sum ddy240" k$ E& d* j6 b9 D* R$ a; [, j
4 @/ z: p, e2 |
if r(min)<0 {
. F+ U& i$ H! S, s 7 Y' L: Q- T) D: e& `- q" k2 N$ R
keep if ddy240<=0$ q0 G- {' Q7 | T
& d8 V0 {: u: [, t4 K count
1 T, D* Z/ D; l0 z8 m* s
' ?1 \) h, v4 z5 B* s% \5 A) l if r(N)>2 {5 H4 z$ L% x9 N* a/ c9 i
" p* W7 K0 G+ Y- E
pkexamine dx240 dy240/ u* W( ~% \5 S$ H
4 _$ n+ J! J- X% d+ e6 C% G local tempminp=r(tomc)
$ o* j6 P6 O# K3 s# `3 N restore % Z+ }# R; R% i. c- \
} t+ U3 ]6 L; B
2 p! h b! M9 ?+ l: Q# x( p else {
/ n6 y0 g1 D9 G, x! u( D 6 ~: g2 v1 B# g' }
di "cannot find minp"
8 ]9 Z# o4 y6 ]7 s- m$ o `* p 0 K. H7 y7 Y; V* X
restore
3 {3 k# Y; S' z% P sum dx240
' z+ S$ \1 k( R% I3 c6 k5 R local tempminp=r(mean)) E c8 Y. h3 t4 s/ f7 j
' F4 w( {5 b {, a( s }
5 f9 Y: ?; N) ?' f; X6 ?' ?8 t' @ }
3 g/ @) D4 g& w else {
L# d$ g1 e/ V $ A3 w: E0 v' N& i
keep if ddy240<=r(min)
8 q4 f- B/ T, k% o, H
8 O" g5 b6 F6 L$ F- t sum dx240
y# o/ _6 `2 V3 @% H* a2 o
3 K, S/ j; u2 A% _8 O2 r! _) b4 O local tempminp=r(min)* l# D* L6 J& H
restore * b) D# H, J* w) G6 g% f) m
}. Y* v v% w1 } a% z! L
% _$ R1 C- U2 T. M" E, L' W/ i# P- F# t& a/ b
( i' d- _% }' S: Y# [, _0 v4 I
gen minp=`tempminp' in 1
; V' u) a# G# B7 A *240 minp
k1 @; |$ t) A' U" ]) l/ F5 \) Z6 l8 C; U( x/ ?
/ V( g* |" L$ N5 D' B, x" N4 k, K 9 A* @/ p8 P- C! z4 v( n2 \
preserve
7 @ _$ F, I# U% ]; T; @, O9 Q
0 Q& Y: Z. y) J. X: i* |, I sum v5 [aw =avol] ^0 G: ?" y# n1 D+ ^1 n& s
1 b h" e! j! p! r" f0 } Z
keep if dx240>r(mean)1 L; X' a( o# E/ W# A+ n
# d |$ j, X7 s9 S3 y" @" I sum ddy240
v6 m Q+ h( q6 j) ]* D . D' B3 ^/ g+ @) E* x
if r(max)>0 {
9 T: B8 `5 c. C
, Y' \* U+ N0 Y6 z6 \ w keep if ddy240>=0
, K! V8 g" {/ k8 M+ c# z ; Z1 C4 w* f' D" V) _6 K# f
count+ Z" ? e2 b" l \. c& F
: ^5 g0 w1 W `6 M4 W7 ]
if r(N)>2 {& [, l/ ~* K. W+ w8 E. U8 f z
5 E0 P' g3 H7 R+ ]+ N8 y# U pkexamine dx240 dy240. l# @) X, q% J, p# `9 F, G- w$ L
- y/ c& C# y, \+ [7 o8 c local tempmaxp=r(tomc)
/ n* x0 Y3 B8 V$ Z" E: o restore & K1 O5 }0 Q3 L
}
, R* k- _7 o% f6 ~, | 0 l( }! x% @' M+ v* J% ?% k
! A, P' F/ \) X2 C; _5 w( o
else {
5 f7 {) Y" ~7 X6 J; h* r' Q% d' @ restore
; ^" X- k; ?' j9 j di "cannot find maxp"- q/ V9 G2 R) z5 ], Y1 O5 Q
O% k' j( o0 W7 L4 l4 s9 m
4 y$ j" d' V; U sum dx240
/ d* k8 Y2 ^* m7 N local tempmaxp=r(mean)
. P. A3 k$ o5 Y# C 0 q( x- k. C2 q3 v: u3 }
}+ q! C* L; i# o8 c
3 p, U5 N. E+ I& V8 A
}- B$ D' n1 v5 Q% B9 Y
; l: |) ?+ u7 m else {
! I& s; H+ [& o) o* A2 s7 d, o
& D& h% t7 d+ z* u8 e. O keep if ddy240>=r(max)3 Z; U ?5 H2 H8 T* t0 Z
, a/ F- {- A% o$ c+ k. T& U) ] sum dx240
3 ?) H0 h F" T
/ v2 g4 a0 b/ W9 T5 ^7 K/ I local tempmaxp=r(max)
3 O! G: o' V: Q- f% d% U: _- g8 K restore
' A( T: Y' f2 G2 o8 L }
p* |6 W4 _1 b4 K& K: Z . d8 i7 U9 M; c) s& k
* y6 t# m$ E( x3 A# e ! p" P! {; g3 }
+ e0 W9 I* C# Q! l' f; y gen maxp=`tempmaxp' in 1
Z, c; E7 F6 y7 N$ m
" g* c# }) P" h6 c( Y0 N* Y *240maxp
& q+ M- \8 X* p( j & i& J. d2 O$ c- ?
! c N- D5 |( [7 o L. t *-------------ddy240pminp左侧高峰值----- K& @- q# M6 W; u2 q# r
9 c$ O; @" g3 i preserve 6 p1 z' H# j4 P L" b4 R, h2 w0 \
1 F" O8 l/ X9 R7 s) u( l
keep if dx240<`tempminp'/ a' ^3 y, T" k/ J
/ ?2 Y# F! u- M. Z7 B
keep if ddy240>0
0 L/ e* b5 R- {# \+ o' c , o/ A! K3 |: ]4 a
count7 T9 k" A; S+ A
* K0 G' q6 l# I3 _ if r(N)>2 {0 O" a, x: [ X+ Q0 x1 U
% `4 w; S& J8 b) H# x7 N/ E. Y pkexamine dx240 ddy2406 S4 p" R; b- t; b! L, C# S* c" n
" w; |- u; h. t, P: k; p: W local tempminphddy240=r(tomc) ) F3 O) R& ~* o7 i
restore1 }9 b& f- [7 G3 l
}
z9 @# X( X7 E( D: a
# @3 U& `. x8 Z6 v& ^ else {( p4 d8 J7 W' A
restore
+ w' o) e' y) ^+ Q2 { di "cannot find pminphddy240"4 B, H2 Y( [( i
# D9 n6 o# Z, T1 u4 n. H$ @
) ~: v' {4 _( S. c
sum dx2406 Y7 I+ P/ ]5 p; s1 d, S
local tempminphddy240=r(mean)
$ r& O' H* N, m6 o' m5 C* t
4 {( C& ]- {1 k, t
2 ]. A9 E0 D8 {& Z3 t% ` }1 ^. _9 a( f0 O- r" {5 n
: r* n9 ~4 F" s" O5 @3 h) c
! y6 Y+ a: V' \ r& L0 g# C
9 R4 G) U' t& w; X
6 U/ ]5 a- m% c) `; Z ( \9 I1 U6 b$ G% q/ ~
$ V: x& v3 b( ^2 i; G1 \7 E$ f$ y
gen pminphddy240=`tempminphddy240' in 1
7 i u7 I/ E+ u' V4 E, ?/ U
0 _, @9 ?0 s5 w3 \ 8 k4 T# \3 C% m. ^; |8 |
*-------------ddy240pminp右侧低峰值 -----------------& b. N" y7 [) A' p/ t+ d4 a( i
preserve & H$ U% |+ l1 o0 V; g" ]' q
7 C; ?: h7 w2 y- s/ i: r7 ?) [ keep if dx240>`tempminp'' M# S9 ?. C1 `3 D; O, ?
* |2 x4 K$ U: Q( v
keep if dx240<`tempmaxp'9 ]! R' B! ]& ?+ J# z
1 y0 l& V8 o' m7 G keep if ddy240<0
; h% x( D) b' j
( ? i. p( |- T+ p; y gen temddy240=-ddy240" T1 o- C2 }, Z5 \' z' S4 I. M, Q
7 o5 {6 @( y% }* J
count
# N! c$ z, ?4 u& Q" I$ J$ G+ ` ! k5 t8 c9 x7 K6 T- b0 k3 g$ y, t
if r(N)>2 {! R! Y/ }* A% H& p8 o8 g, d4 P
2 H' f5 h# G7 F: z P
pkexamine dx240 temddy240$ m) [: d4 {/ w
" ~1 A2 m- S" Z7 Y% n local tempminplddy240=r(tomc)
, z9 D3 o4 s M% _/ q restore
* y7 g" \: }4 i }
' w! e) y0 N- \/ J* v% t
; F8 c' K9 O1 J2 W9 t else {
% K3 ?. m2 Y X3 f3 r
& l+ A# O9 P9 O# i) @ di "cannot find pminplddy240"
9 F. N r) A. f5 I restore3 L9 h R, A& V
* r6 z$ U8 `) W, k sum dx240
; ?1 n6 U3 J( { local tempminplddy240=r(mean)' d9 E1 s( u, D4 A5 ]6 ^
# N @! g7 p6 U9 G T3 f ) r7 _+ I* k4 _ ]
}
0 x4 n$ S$ \/ P+ O2 }& G
3 R1 |, w2 m+ J& u* d- f& G K6 ^
1 }7 L, ?! {8 E) F) A: M. o8 \3 D, r : z( Z7 d# B. O8 y
z+ x& c6 |/ h- ^3 \- n: `9 y
: D! W4 w" Y- Z' [) A gen pminplddy240=`tempminplddy240' in 10 g8 I2 D# T. A: k
( m0 \2 S/ }/ M& R- x; E0 w# U9 C
*-------------ddy240pmaxp左侧高峰值 -------------------
1 G" ?1 _% R1 [9 {8 H& x) W
# l/ E3 g! k& B" ~, ? preserve / ?: \! K0 E2 I, d! P
( L" ]8 w, X+ b$ Q5 b, v0 Y keep if dx240>`tempminp'
) J& `1 x( g$ L9 }
* m* |, n6 q! g: }9 e keep if dx240<`tempmaxp'
1 Q5 M0 I" X: j0 Q3 h g, a! g# w
3 ?0 R0 x) \+ J* a' l* `- s keep if ddy240>0 i8 O! a+ g; O: F. q G! y+ t3 u: s
count
S# d6 ^' w/ N7 |8 J( v " I1 j: K5 C/ e0 N8 z
if r(N)>2 {
- _4 @( j5 o8 U: `) W$ c P
3 e7 d+ P$ C3 Q9 Y) c2 ~& X, h$ s pkexamine dx240 ddy240! X' u8 d0 @6 M1 u! h7 A- r
; Q6 E3 q" G! L% c+ ? local tempmaxphddy240=r(tomc)
9 z4 x. r# n6 h- v 7 u3 \* b6 N5 c9 I M
restore4 U* l2 B- }6 d# G, t: }! {
}
2 b5 P* H3 u* j( j! v4 _' x/ s; P : |+ ?1 \7 @/ v
else {
" K& e' b0 S- K1 O1 g 7 V& S) C9 H K8 Y9 o. Z
di "cannot find pmaxphddy240"
: I. u( X; B8 Z$ I& L7 | restore- K L: E0 T$ }: R
6 P) Q+ E( ], }4 M: x
sum dx240
2 c- V( ^% ?, H local tempmaxphddy240=r(mean)
. N: T& Y7 g5 r# J
0 Y( \, c, B% Q" h0 Y, d, n4 U& I3 K& X ' n9 J( E8 M- ~8 e% M
}* R" J( P8 ^" |/ }: {" r f
9 M) s4 ~; B/ z+ p" w4 o8 W / {: \, e) \' f( N& ?+ p$ a
5 c# { r- ~- h7 l 4 b0 l( i1 z+ e0 `
# B' D1 p! h- ^2 a
' X% Z1 k9 @- @ M$ O gen pmaxphddy240=`tempmaxphddy240' in 1
/ Y1 o0 w9 }7 a) R# Q
( y2 [+ _6 ~& {4 G9 G3 t
5 q( Z5 ]6 j. A8 g f *-------------ddy240pmaxp右侧低峰值 -------------------- ?$ K0 t$ H- J7 b$ t
7 X* n( C0 J$ e! D' V- J preserve / N) D. @3 E: s0 ~' Z, J8 A4 B
, k. }( g4 Q# h/ f9 R8 G
keep if dx240>`tempmaxp'8 S: k# e/ A9 O, }
1 o }& e) c; P; e( t. n1 [; O
gen temddy240=-ddy240
8 n0 r% e' x; X- Q7 J2 v
; w+ u0 w) _- N) K5 S, ~+ c2 t, | keep if temddy240>0
* f& o5 R- B. R- K- c6 M: R
. h, h* o: U2 p% X count& O2 F- r+ a. G' |/ o& G
+ P, Z% p) N4 {: a1 x+ G if r(N)>2 {
9 h9 q3 B3 O: T: l
" e }/ G: U- O pkexamine dx240 temddy240
+ h3 Q" ?+ }: x% I$ X* X M ' ]; W3 b1 N7 m& k, d3 I2 I
local tempmaxplddy240=r(tomc) % T; [" U* p7 J' ^( ^4 l
restore
! y! [$ k; E/ L$ U% F3 ^9 h7 j }
+ t2 C; t# ?/ ^/ A9 J
2 d0 ~: \6 ?& g N0 ` else {1 K0 C2 L; l3 I3 i! {+ W
restore' }8 B s" @- P2 S# K4 P
di "cannot find pmaxlhddy240"
- `4 `2 q- r) Q( r$ l$ F) s! F" L 8 O$ I% u" D' y& B
/ z4 ^- |/ Z5 ~9 g. \ sum dx240 r$ d1 Q2 b! e5 P. Y
local tempmaxplddy240=r(mean) in 1; R1 U' h. T0 | S
; ]& ~; Z1 H; C
9 G; o# u# s( w% q2 g+ \( {5 `
}* L" n! H# X8 ?: f# N" Y7 d
, e. T# o* g( b4 l 4 s& O+ I. H7 Y# ]$ Q
# r* [+ Y1 M2 e7 M3 b7 ^
( w. H) T- U% c9 b0 Z, ~& c- @+ ?, J
) U3 f, C, c8 p' a " ^: L1 p) w! c6 i; g! _
gen pmaxplddy240=`tempmaxphddy240' in 1
3 m4 q4 Y- U( A: G: I8 G
7 R( L" v& i, U! [- L8 E5 i *-------------------------------------, ~1 Z# \4 k9 l
( B n# u0 d$ }: x! h2 p
gen price5d=v5 in 1/20/ H. E$ E5 u" a3 N2 [ Z# }9 m
{2 s+ x( ^- c8 M6 E gen price5yy=_n in 1/20
# t9 [0 D+ n% [+ U8 |* K! R+ P
5 }4 {4 W. M" [) F8 _0 j gen price5y=price5yy*(dy240max-dy240min)/20
7 f, x' c: I6 m# A' { 8 r# p3 X9 Z" M2 ~* q5 ~
*price5y &price5d& l# Z [( P0 z( T/ ~% R# ~& T1 K
5 y; p+ N7 I/ h5 F B! p gen priceny=price5y in 17 t' t) }+ C( F8 r
" n$ {( @7 i9 |# |7 |
gen pricen=v5 in 1
& k0 ]6 l4 X& B$ e6 ~, @" {7 ?- `( B1 w7 \
; ?, ~! [7 a0 |. W! Y) f *priceny &pricen
2 P ~8 o- a. i U1 ^ ; G& }0 O7 q5 i6 p$ O; g
$ I% G3 y- ~. g1 n3 ^! a
*-------------------------graph------------------0 z0 w! W* p' B! M1 ]9 ~' z$ ~
: x8 ]5 b" U5 s* L% _ 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): o4 ~6 P3 F5 z$ B, N$ g) J4 h
) u) I0 @# S ?% p% Y4 l) z. Q' r
* ---------可选项目----------------------
" B/ O, S5 A* u: @# |* S. m# `0 L6 O*(spike yxis amean,lc(blue))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean)); f5 @) f6 |" i& N
}/ S& U) \8 l' B# Z, Q- i; T! c5 F
end
* d7 v0 m d+ ?7 l |
|