|
maodeng 发表于 2013-1-28 13:13 9 O0 c' l* ?% Y4 O3 }8 p" X) Q
. hello 300236! d. X H9 K/ Z y0 L: f
statement out of context& s0 A L9 K9 M6 C5 q! d
r(119); . } X) b1 R' |
抱歉,最近太忙了; X5 d6 Q+ o; y) ^: b- a" K
" S2 j) t9 _' i! d
300236 我用下面的程序试过,没问题
1 R( J+ l: q& l: M5 G0 V+ ]
4 E* [4 h2 \ g* Q& m你把 D:\stock\test\source 改成你导出的数据存放的目录,再试一试# A9 N1 F" U+ d1 `
) q8 ~! L% W7 `9 U/ W- ecapture program drop hello
6 k$ y5 d B; I/ B
% ^5 G) R; N" w0 _$ V. k7 j8 c' e% Xprogram hello
) W$ I8 l! U' l: ^ q3 U0 }) i% |, D: O5 s& x
quietly {2 t& _% U2 h w, q
0 _* ?7 \6 _: u6 o7 Z. d6 V
clear( z# D' }' M: `- C
7 H& G- D9 H7 L! J; T6 R( a
cd D:\stock\test\source
, M8 }' B0 M) s. Y" v+ q& N! t! R% ?$ V# R& z# z# H
insheet using `1'.txt
6 z D* e" s$ b2 k
8 O5 ]( E: m6 B keep if v5>0
# s/ h, T, Y* | 4 ^; }4 z* [) L( Z
gen vt=_n
1 ^- i2 k+ [& W1 N8 a1 W Y, }
& k% L. y( {8 i1 K5 g- T tsset vt
" G' ?( U% V; ^# c" ]2 K. d( U B. a5 h
gen zf=D1.v5
. f v' P9 V W: M( U: x v' a' F# d# ^' `# _$ p) {
gsort -v1
6 ?+ r: C* d/ P6 e3 ]1 r1 b6 u8 m3 U1 y+ V; I6 X6 ?7 [
gen avol=v7/v5
) f2 ]- o( F/ X4 q" }. k+ F, m) b
q' k; X B: E0 \7 M2 m+ l& ` keep if avol>0 F4 a) H2 ~4 Z: g' d3 P, G
* P: f5 x) B/ S* l) M4 F J* M/ E drop vt
% T# @$ d5 T# d+ N # I ]& p( D) b1 A. Q2 u
gen vt=_n
, s! j( e" p* ~8 j, g6 K: Z' \$ b
* Y2 U8 _% u' W2 ?& L* _2 q tsset vt8 E& `# w3 z) y- v! g; i# e8 Q( C
/ ~( G4 n9 F# @' u0 P
sum v5 [aw =avol]
5 b4 ~; G- J) i' n7 Z; Q8 X" ~9 U' y
gen amean=r(mean) in 1
9 I4 r3 w, X! P' j( q4 A+ R/ _; T & j2 c" j* f2 N9 K8 T7 i. d
* 总加权平均值 amean
. _# C& s9 t5 W1 i2 T
1 k4 o& ~1 |; w- Z4 A- ^% [: o 0 Y I+ e0 p7 I F5 u5 V
keep in 1/240
+ \- i$ B; H: ?' M; |, Z, H( N9 v }3 r& G
sum v5 [aw =avol]
! V- k9 d* t. \, m& B# n! X( V* ?& r, ^+ Z
gen mean240=r(mean) in 1
b* @" A" x' g% F
% B3 h) K2 f2 n2 W5 I; X; e8 O/ p8 } *240加权平均值 mean240
/ W$ y( g5 e2 [. R, N% I 9 ?* D6 p6 m% C7 z% Z
set obs 500
9 X; W$ _. n% Y* I9 H/ g/ V 5 D" W; ?+ i; z3 w
kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph: Y' L( {1 s( U5 X* }# B
* n2 Q0 g1 Z+ p *240 kdensity(dx240 dy240)
T/ s/ T# A% o0 ? $ q# Q( E% F6 T
sum dy240
. g0 x& B/ J& I: w) N
) Y: S/ r4 L0 K2 }& [; z gen yxis=r(max) in 1
5 c2 c) R, r5 z* _, X( G$ ?
$ H. A* d) z) y' R- v' g: { gen yxis2=yxis/2
) k, @# G" w' F2 w2 r * O8 o0 L0 U1 o; o( d, N% I
*yxis
& W( {1 H# h* U( d1 K' L
2 b6 z3 T9 O8 ^# @; m4 o9 w- i gen dy240max=r(max)1 q6 \' B$ S+ d5 A! H; L. f
5 h2 T6 S5 Z( k% g
gen dy240minp=r(min)5 j, Z/ h7 Y$ o* y$ e8 k0 _
* P5 |' L- F6 Q( ]. {: s+ l
gen vtt=_n5 i, _/ A" n' G# x0 c6 n3 v8 V4 G
7 \0 J) s8 _# g% {% L- U. V) U
tsset vtt5 G+ N: h+ d( Z: ^7 r" g7 w
- |6 R u. P, | L2 U" ]" _0 D
gen ddy240=D1.dy240/D1.dx2402 s) V( {2 y0 Q8 B% f7 u- |
" G3 i r8 _- S" i" \3 M+ X
sum ddy240
T: Z! W3 I- ^, Y4 c/ C / s4 X' K; l$ D$ @( g. `. v6 a
gen ddy240max=r(max)5 S& m, V, R1 Z; V% h5 j# A
; e& `$ T3 p' B4 [9 z, I; x gen ddy240min=r(min)+ r4 o( T v5 A
# r9 b2 q1 I! t/ Y* N* E2 } gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)
. s% F0 W0 I+ V 3 x" ~" n9 P& |) n" }, r& M
sum ddy240g
z& j8 \, _$ ?$ t) P
2 m& w' D2 P# o' x6 t, \, n gen yxis3=r(min) in 1
( p' v6 l2 _( J % N4 ~( G1 e6 \4 t4 m# c* R
gen yxis4=0 in 1% s( |" W: _6 f. a( u+ j j
7 i/ }3 h0 j2 \! S5 ^8 y, r *ddy240g
[( ~1 C( x- a . Q; ?' M! W0 O, ?/ u. }+ }& K
* U: S% \0 M W7 d5 a3 W# S9 F preserve 9 z' J, \9 S' U3 u" ^& C
h+ a$ {7 M l' w2 y
sum v5 [aw =avol]& t6 S& G. j& E
' @2 [6 |( U, Y" N
keep if dx240<r(mean)# k: A9 g/ D7 W. t. b k' p
6 M" w% a! d# F; @# B2 t$ H
sum ddy240
5 v& z. w( o O- q 6 C. C% S: H z
if r(min)<0 {
X1 b) [' J4 O9 ]
7 I/ p1 N7 p+ Y" ]0 \. f keep if ddy240<=0
2 r3 |* ?- N/ c
3 c7 [# P( O) ?4 c) q1 _, f count6 S3 q7 b3 ?1 |. |' t5 m# u
1 p! C4 i' r5 J7 q9 t; J7 l
if r(N)>2 {
' b. L4 s; t/ F% _ . U% z8 W+ v6 X$ _ ^% ?
pkexamine dx240 dy2404 `2 ^ n* ]% c v8 ]- Y
9 `7 E5 ~; h( Y: ?+ I- V3 A' k. x local tempminp=r(tomc)
; i, Z: c: F$ R5 p restore . @0 S$ {' G$ U' ^" L
}. X1 g1 J8 |& j. B7 v4 l
3 {4 C# _% `2 {4 k- d else {
9 H6 E; J6 {/ f! V5 E( k
) s' U. H6 V0 c di "cannot find minp"( u0 Z2 I t- a5 d
$ m5 W! o3 b; X5 O4 o& w restore
5 S- n0 @0 @" l+ i2 v sum dx240
$ F( s5 P2 ?8 h/ i+ f4 q local tempminp=r(mean)
5 o; |! y% e" Q 7 l6 u" H- G8 m+ f% w
}9 A$ _9 Q8 t Z- q6 E" H+ n; m( a
}
" b, p; \0 U! R, W# { else {
4 j7 e+ [# T/ k3 L$ T1 `: H
% U7 d! h* e. ^4 t7 E keep if ddy240<=r(min)/ V) s% }6 g. T8 a4 d- H
& w$ V! r4 }+ X+ P
sum dx2409 ~4 A9 R9 t- x( Y
2 @0 Q; k: F8 e- g/ N
local tempminp=r(min)
& J4 D: f J( s0 Q restore / i1 s) d/ {9 E, ~% s
}- U, O4 I: Y2 T
4 r6 o# R+ b) S2 m# h# k
) q( `+ }: G8 E6 [
8 V1 f |5 ]) i/ s' ] gen minp=`tempminp' in 1
, c, D2 k l* c# v: J- m2 T2 G *240 minp
3 P4 w/ ~% j9 d' \5 b" w7 d
. E+ L( s( m9 a9 x
; ]' K/ O' ?3 _0 e0 \ : k: u4 T9 w+ B7 d
preserve
) F% ?6 l/ r7 s0 S
5 o: i# N% ^5 q% F t sum v5 [aw =avol]6 f8 | A9 t& Y2 ~1 C9 @, G7 N
+ S& B8 M$ ]3 L8 ~, l
keep if dx240>r(mean)
3 ^/ l! n3 B/ t6 f 7 H7 T8 a6 ~0 k M" t. o& L- R
sum ddy240
5 m! t3 z0 N" W. |
p+ B* Z; N) F0 F if r(max)>0 {5 W# z4 b$ x% _" O% q
3 r% b/ b' P- M
keep if ddy240>=0
$ f6 \8 c. ]9 L( r1 }
9 q. \+ w2 J& m7 _1 W6 ? count, B0 n9 y. N5 n3 d; P6 {: C
- ^8 g3 w6 B3 o3 o! N/ X& c
if r(N)>2 {1 P" ~ R, Q7 E; B; ^* f
# X- X+ W+ K; X$ y6 s pkexamine dx240 dy240
) @- o8 Y. h$ Z0 b3 e
' g0 I( S9 I0 n& Q" Y" W( X8 e local tempmaxp=r(tomc)
% ]. Z7 T k1 S0 f4 L! z5 R restore
z. B% y2 A1 ?, |, t/ ]) Q }
. p# S$ B* t9 R0 I5 f/ ] ^ * e2 I6 P" x9 L+ ^
- n% ^/ Z$ C$ ?# L5 J; _ else {1 k" h% D" }3 y1 `/ U( Y5 o
restore 8 O! r( C0 r+ l, U
di "cannot find maxp": t2 Z% A: w+ Z( r. ~
) Y! ]6 o( Y ~
# d" b6 f: ~( U1 l( Q sum dx240
0 T; q# x' O) [' d local tempmaxp=r(mean)
9 j4 k z& W8 V% L2 t
8 s, O2 M6 Q% \! M5 ~7 J }
! @2 v" A% K G& k
& A9 `; L) I+ D }4 _! ]; D U# \
: y, a" j7 @. N! O& p- b2 a
else {1 o1 S/ T& p/ t, A, T9 n
5 i) _9 e' I/ } keep if ddy240>=r(max)$ g5 Y4 k2 e$ J7 c
7 X" @' X& \6 R' z5 U% Y' T
sum dx240
8 T0 z2 V& c& C1 ?5 p. ^
- o- p- e ?) F( Q local tempmaxp=r(max)
0 @4 q y8 \" C# E3 i' W restore
% H% G! x& J! r3 N' N# a } {) j; X8 f. K% m" k0 M6 T. q
" c1 h+ R) R: E
% ?* y2 B# y- J 3 w+ Z% R5 B3 }
% w1 q1 i8 F$ c4 g, D. p0 _7 i
gen maxp=`tempmaxp' in 1
, T6 j ^ ?' N) o , l ]6 _" t7 E- f# L \
*240maxp
; b% v" [# ~1 L8 c7 N& ^5 } 2 L* @4 b4 ^! f: Y5 J" F
: V; O% a8 [! Z" x *-------------ddy240pminp左侧高峰值-----7 U& C1 N" T3 v4 O; V2 p/ U
5 v+ ^. [& d3 j
preserve " ~3 T* ^' a0 w0 ^( g( ^
* ~, o( i0 l; z7 C4 `. k1 T* }: Q3 v6 \ keep if dx240<`tempminp'
( m1 m: n( x- y0 c 8 F7 E) `: |8 I
keep if ddy240>0
7 p' U9 U1 ]+ z# m: G
1 B. b# ?% v0 |1 B0 @ count) }) p! S5 X' L* a- z6 }3 z
7 f7 c g* Z. m* C9 d
if r(N)>2 {7 l$ }$ R! D4 i5 y/ J/ u, }# v6 U
& J- p4 `1 n2 o% u1 [ pkexamine dx240 ddy2404 r; l8 N! c* d8 F3 s
" b: [4 @ P* P) O1 I) E
local tempminphddy240=r(tomc)
, |% ~% ~5 l$ p' W' r1 ?* X* k, T restore
9 ]+ X% O1 m) R( q4 ?6 D) |: T* i }! `4 v/ ^2 @ V: |8 k2 i! b
) T( `* w# ^- W) Q( c w ~+ j) O$ E else {4 b/ A% M% T" l+ w. j* g1 ^7 F( G
restore
1 q$ q: L1 l( A' H/ K' w di "cannot find pminphddy240"4 u/ y+ G$ R; q: ^7 F
4 B" `' O# Q$ ], p( \2 ?- U0 {
. M2 n& D! M& ] sum dx240
* n! `8 D. F' C2 y local tempminphddy240=r(mean)
, X: T) g" \* Z# T, Z/ g3 S , b+ `6 r L1 B8 W8 V0 L
+ g% j5 T% x" r* i5 \" } }
( ]/ m0 r _- N7 z7 z9 a# T ( W3 f. I2 K$ y" h) S# n+ F) T
/ j# i: l: z! j: K k! r
( K$ C2 t; z4 K# x+ f
6 t7 h7 u |2 u8 B0 V/ d0 U
7 X% y# E/ T/ ?- `% ?9 o. } d9 ?6 k7 `6 ]- K& C
gen pminphddy240=`tempminphddy240' in 1
4 ^, w5 \ ~" ?( b 5 w8 I9 }& b- U5 y* f
4 S1 J/ R$ B. a# F *-------------ddy240pminp右侧低峰值 -----------------
% i, N$ j S3 ]: p6 z2 U9 ~! N preserve * G' Q8 z( q0 r
( F4 r1 C7 W) m- l; s# @% i7 M
keep if dx240>`tempminp'
, r3 F$ W6 y- Q. x" ?
S1 A3 g' c8 O9 [" o keep if dx240<`tempmaxp'
" i0 x0 B& b2 O" J: G* v; h
& T& }, h l! s1 V( g4 U" a* i keep if ddy240<0% w" w* i9 A1 }" k0 K/ T8 P
_( o m! K( Q+ W: h4 {0 L
gen temddy240=-ddy240
# M- D; ^( s4 w A+ g2 ~4 N# s 5 m. T! X) x+ ~; Y% V* r. L' }7 p, B5 ]
count7 L# Y' C0 v# y. e. K' K
1 @2 R1 w( N0 T `
if r(N)>2 {) k) y, e" G" [0 u3 l
3 k& A& ?; a+ x, f" P7 ?) i* ] pkexamine dx240 temddy2400 ]+ C- i" Y2 x
) @2 P$ B- I) Q
local tempminplddy240=r(tomc) I4 |- `3 h0 K: i2 B
restore$ Q0 r5 Q" P+ K4 ]7 c( W
}2 N- U) l) b1 |
' ^& f* H8 t' b$ {% D2 b9 y
else {# m/ E# c/ ^" a! X6 Q
8 f* k+ m5 ^/ B1 |3 w
di "cannot find pminplddy240"$ X! Z% B% M; G
restore
! c* V) d3 p6 H, `2 e4 e 9 k1 x" T( p0 r% n
sum dx240
% F: t" k: F+ R& d( J local tempminplddy240=r(mean)
$ i2 R5 b, v2 P1 A2 X) \0 K* o
& {- u/ s# c3 i4 x
0 G' N* d1 c8 \6 B }
3 Z8 \. a( D" ~) }) w' T' v+ E/ n
0 { t$ C! [ }& u% J) H : J) o6 A' I) `9 W
5 d% B/ L( Q4 m) o
" [. z) l {% X % i4 z6 \. |) U) R
gen pminplddy240=`tempminplddy240' in 1$ J1 E& r9 K% `3 j9 U/ o$ f# V
% Q1 s& H9 Y3 ?1 ^1 g2 Z( n5 X
*-------------ddy240pmaxp左侧高峰值 -------------------2 K E$ q l- P L5 k1 }% l$ Z. `
0 L* ?0 o; _, W
preserve * L1 Q' s, k( R2 x) J1 t9 N5 T2 h
4 S0 q+ R4 x r* S, i
keep if dx240>`tempminp'4 L* Z' Q: [ d$ t
5 b: j$ t; i; t5 S5 \ keep if dx240<`tempmaxp'2 _( I: R9 k) W; H3 s1 y3 B
2 y; e5 i( |$ ?2 @& X' ~# O8 z a# ~ keep if ddy240>02 k: i T Z/ W% @ o, f5 z W
count
8 k! Q) w9 g3 B7 f& l1 L+ a
3 m/ Q- U) o% p if r(N)>2 {
1 _8 _, U0 l: C
; P; K) T) M9 s D7 `0 S/ w: q. I3 N- } pkexamine dx240 ddy240
- E* \" Z# C& m z; B # V: B! B" s/ q8 E, x$ T6 u4 G
local tempmaxphddy240=r(tomc)
; @4 k. j$ W6 v% R ( z* N4 g. ^- j: e- M k: _
restore
! u" }- q+ G1 h! {& d7 Q# p( Z/ J }; ~- i. o' G- l3 L; e" T+ b1 {1 j% ~. J
# B7 c( n# _8 ]" _4 W else {
1 Q! C5 ~1 L5 i- O7 M6 l8 C7 d9 u! Q 5 r& h( V# f* T( Y. S# u
di "cannot find pmaxphddy240"
: g( V) w3 s: i7 @ S6 v4 r9 k restore
! F4 `, @' M1 I$ L
8 p2 [/ l; b" d; \! Q5 J sum dx240
( B5 l1 j1 _( v9 V local tempmaxphddy240=r(mean)
5 g' `8 W; e) B9 b % W) E$ y0 |1 e9 r) m" }5 Y z" M$ p
( I$ Y* W( B9 m1 E
}
+ z3 C- C, x- ^: ]/ I+ a; m
& Y& a3 A3 Q3 ^& `6 t$ l! B
$ k2 ~/ U$ S: K! v! Z # Q8 o# R" i* }$ q5 x8 S4 H
( B6 w: A2 s: x4 o
5 }$ a. Y5 `, O! [2 D/ @2 x+ Z, b 9 x- `8 @+ u8 c5 d! Y3 |
gen pmaxphddy240=`tempmaxphddy240' in 16 T* x2 Z/ y: X" V+ m1 m: l# ]
) q, n! h, J, L# ?: |7 T
L' M7 J0 e6 v" w( J$ a1 s! h *-------------ddy240pmaxp右侧低峰值 -------------------
- m5 ]. g( V/ k" ^
* p, P5 H x9 }1 j preserve x0 E$ V, Z- V/ u7 q/ B6 }
1 g0 ^+ s" V& X7 k keep if dx240>`tempmaxp'
+ N% N5 G' F& k9 h' R0 ~: q
5 r. w. \- z1 N3 H! i( j) T gen temddy240=-ddy2404 Z7 Z4 ?" Z, o4 j4 B, `+ r
( J4 q) l4 Z9 I; f% m# M: m( b, R
keep if temddy240>0
+ T7 t9 Z. `+ l+ Y - D3 q$ b7 K. l: {
count4 j5 P" `% z/ Q- c- N" d# R
G/ Z. w9 z' S) { if r(N)>2 {: H: j; x% ?6 c1 y7 p0 p3 u
. v7 p9 f" h! h1 o$ u- D6 S3 k$ b pkexamine dx240 temddy240- J2 I: U& Q9 w" f) g" c( Z
& p! E6 V) K6 b/ b8 I
local tempmaxplddy240=r(tomc) 2 W; U0 `5 l. g
restore9 i- w8 ?! b- f
}
! |' A) H9 E P0 M I. C
$ j0 r2 L3 {& w; e8 C3 `& k8 v: k else {
3 k5 s1 @% G. ]# _6 H restore
% o% L+ R# R/ y. ?2 p8 |# _# j) h c di "cannot find pmaxlhddy240"% Z- f% W( L. }8 ~/ r" K% b
" a8 s! N! }% {
7 c& {2 p, w! r. p2 X6 b sum dx240( @" z$ d) W( o/ l0 Y
local tempmaxplddy240=r(mean) in 19 s* }% u) M# l& E u" O
8 ]" B v- D# N4 v
, v1 t1 ] c7 b1 ~9 P# ?
}2 ^3 t; P! L V2 E4 a4 ^; j. n
" T8 H3 i& h( e& Q2 @
3 u a) t3 Q- m, K5 ?6 m4 w7 x ) U1 N A# n( N4 D( B) O0 U: w
2 @. X+ r; y# t/ J2 ?! V
! K. F( x+ p8 K( ~# c5 m% ?: z [$ T* ~2 _# K( V
gen pmaxplddy240=`tempmaxphddy240' in 1
) t% L w# o7 ?$ | j, H6 a3 p 1 L7 a `' S) v" H
*-------------------------------------
S8 r5 W6 Q) h, \9 j, x5 `
) |; c1 ~, U. t2 R$ ~! s7 j gen price5d=v5 in 1/206 o2 `& S1 O( J
9 K* Y4 j' v4 E7 H
gen price5yy=_n in 1/20
9 |8 C2 O7 l9 G- H: U& C 6 ~. C p# i/ A
gen price5y=price5yy*(dy240max-dy240min)/20! J Y9 ^) R1 N# L; k$ ^
7 k0 @% x2 [, T, R- `* D *price5y &price5d7 @5 A# D+ g J/ m4 }; b
3 k' j! ]+ o/ A! N4 b7 g9 G gen priceny=price5y in 1
( c P3 {8 P2 ~9 R$ w* D 0 p6 q9 T) i) U9 G
gen pricen=v5 in 1
& ]' Z* Q$ E* W! h7 B* v7 R7 E
3 I- c$ B$ \$ X
: [$ V( N J3 z- N0 k- K# x *priceny &pricen
: f' E0 \0 D; i$ N+ x % e5 x% x! A" H9 o1 d" h4 A) t2 ^
; I# o+ A, e- W" N2 p8 D- H! v5 ^ *-------------------------graph------------------( z9 H# Q9 U1 f
1 Z1 Q' C6 }; M" S, k 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 }* H, a j; J, q4 G
$ c: v$ y# X* S* ---------可选项目----------------------
* |6 B2 e, P4 Z; |*(spike yxis amean,lc(blue))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean))
6 @# P1 X+ f( m6 g' P0 H}
3 z9 i5 t, y2 u+ v/ o* U4 Mend2 g7 B7 J* y4 S
|
|