|
|
maodeng 发表于 2013-1-28 13:13 ![]()
7 y3 Q% K& p4 m- Z0 P5 F. hello 300236
D l* u4 @$ @" fstatement out of context
$ C1 u# g4 e$ r! Vr(119);
4 B0 L- {; e. _* c! x3 x$ P抱歉,最近太忙了
' b% J6 O0 h5 K1 I9 F! ~' ^4 a& f6 h3 q) y M4 K
300236 我用下面的程序试过,没问题. t4 @9 l& D; w' w' w7 D
p! @8 g" o* _8 R你把 D:\stock\test\source 改成你导出的数据存放的目录,再试一试
; U. ], u) Z4 A' E8 D# M! a3 J0 D7 w( Z
capture program drop hello
4 A& L* N0 Z( f0 N% {" m& V) k
9 f4 \+ @1 n+ O( Dprogram hello
- i; C# K c7 h8 B8 u
- ^: X& w6 b% N6 f% J; h quietly {
& C- }9 h8 o ]; Z, d( `" ?! r9 L# |* v) K. j8 D& q5 ~, u
clear9 J+ j7 [0 p6 D
3 b% c# {7 J" P+ q b/ N
cd D:\stock\test\source
4 b& b8 S: o: U2 A. _1 J( M1 {2 e. E- P
insheet using `1'.txt
' ?* |- D8 J ?# f3 m" f
" C* X$ B3 T. ?; y5 F0 B3 Y keep if v5>0% ?8 y( w; c) w
/ a+ M1 E3 G2 a$ P6 ] gen vt=_n
; r8 E5 `7 J' o$ r 2 u- B: h" _' ^+ {5 n
tsset vt4 B$ D3 Q% ?- k
) ? z) }) I9 t7 P& [# n: o( u
gen zf=D1.v5
6 f. d$ ^4 Q( @9 z* u
- A2 ? X( G# Q k: x1 e gsort -v1
6 u3 l& B5 W3 J8 ^. ^0 B3 D
4 z! E+ _; O6 w. ?+ R gen avol=v7/v5
- G, I. K& o. o, G. \) [5 [: i
: X {3 v/ r5 T0 e7 x keep if avol>0
+ I) }* E' l' S0 b) P
1 b8 q) L$ [0 u3 t9 M drop vt
) z7 S) l! E, ^, q( v5 q + p) L$ f+ _# G3 I# a( V, F
gen vt=_n
; g8 o x1 m* ^% N
( l. U: T: v8 c$ u) j, J. n' L tsset vt" y! p6 q) H: n: t! t
! L: ^; H4 o5 d( L3 T! y sum v5 [aw =avol]
; Y% d; O y% i2 c
; {3 M. z% a% t; g! @ gen amean=r(mean) in 1
' p: E% m; \2 H& b9 P ; r5 G( [/ l+ Z$ V0 k
* 总加权平均值 amean; _5 v& l' o( E' r# Y ^) @
1 Q2 b0 u9 A4 Z+ t8 G
1 c- {9 u. A5 M+ c6 o% m( k keep in 1/240
7 Y3 }) m" g8 L( A) Z3 r0 J( b% j% {
sum v5 [aw =avol]
. l8 d" z+ W& p9 z
, r4 n9 l# _4 {* k! l gen mean240=r(mean) in 1
, y& j; g R! Y. p6 B: x ( `9 Y2 ]% W- X+ `
*240加权平均值 mean240 L& o1 }& X) _# m* ]3 r- o1 i
6 ]( A9 z' t7 g3 K2 E3 F- B set obs 500
, p- E8 P9 ` F r5 R2 s ?4 M9 V2 K
% J: G) @, \ b# d# Q) Q2 u kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph. N5 ~/ X6 W7 i# d$ {& F
" ? K- }4 u9 t. x, G
*240 kdensity(dx240 dy240)( T( E( _2 y7 V3 i+ T7 M4 b
`9 J7 r3 K0 p
sum dy240
2 b6 Y' w r+ v. W% y0 B/ W- W $ X" N7 J% ^; E/ o. c" c
gen yxis=r(max) in 1# J# u" X( W6 \5 g
) g+ r$ {) Y! T7 K8 t, z gen yxis2=yxis/2
9 g5 [$ u7 X) e
z7 s9 H! D2 P/ Z" l; f *yxis* S/ H) A" |( h1 m
, a5 @1 E4 U x+ {& \; H$ C
gen dy240max=r(max). S* j0 f2 \3 m/ I' R5 u3 K
4 Q. i' ]2 {# z gen dy240minp=r(min) D5 v3 N0 }$ a3 W
( j4 T; t! ^. |. G
gen vtt=_n
7 z: X! |; ]/ H: u8 S
! }7 m2 v6 |2 {2 ~4 ^/ E* P tsset vtt B+ T0 r$ q+ D% F! [. q
4 t) T- c) E) u$ E( J1 ~/ P gen ddy240=D1.dy240/D1.dx2401 F6 {; o- i; U$ C: a
8 O: R8 I L: ` B4 j
sum ddy240. K! U0 @6 L6 Y( o2 G: u' Q6 R; X2 p
6 H. ~' }6 a- o1 {
gen ddy240max=r(max)6 c. `$ ?/ M. {" S4 N! m6 I8 J2 T
9 x! b/ ]" |) {$ ^2 \) s5 F' V
gen ddy240min=r(min)- ~. Q* W2 q8 E- ]6 r3 B
. A7 X( M) |3 |: Z N+ j/ Z2 z1 ` gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)# ]7 r7 P1 M9 s) ?
V- o. G" L* m) P: U( @ sum ddy240g
9 G0 k7 ?- j! [$ r# | 1 y- }3 m: n W2 K9 Y" D
gen yxis3=r(min) in 1( ~) W. E9 c5 ]
5 {' F, b/ ?7 A) I9 U3 j0 a6 |* A gen yxis4=0 in 1
5 C, v9 P: K* Y; t8 ~, h) a4 M 4 E+ Y$ p/ \7 E* n c5 N* l
*ddy240g
1 l5 h2 l8 m' i9 n u. E+ a) w
( d ~/ e- x. n( T+ n" i9 } 7 j' c3 t. x; P" _
preserve
! K3 A/ C( C7 Z8 d9 E) k ( k" z/ l- d, u4 [2 F: C3 a6 ]
sum v5 [aw =avol]
' @8 s9 s; L" d, z% G - g, V! c% \ O' J* G
keep if dx240<r(mean)
; c6 _, ]% \. P7 x 4 p" ]) |7 I1 K# Q" n; g. D
sum ddy2402 n7 \2 _8 }, \1 y
+ o) _' V% g B/ M1 x: r8 ]7 ] if r(min)<0 {
` Q) [) k- K& p/ x% ]
. x" I% {3 b4 A+ K5 w3 C keep if ddy240<=0
8 U6 P: ^$ o1 W% p6 ?, R7 q" k 5 x( a- K+ f" W: C- j. e
count
" @8 V' Z: w- R# S, T5 O* \% x / Q. h( v2 y- @% r
if r(N)>2 {
. t( h6 c! X- L' v3 S$ I " p2 ^: P7 h6 V% e3 p% [
pkexamine dx240 dy240
! a, o7 c+ i; J0 M' T8 e
" ]0 J9 {% ]$ Y1 G, W$ I local tempminp=r(tomc)
4 H- C+ w: u- l restore , f9 w! A. N. ^
}
4 H8 w; |, a: L0 B
, u7 h) t, d' K. M2 {( e2 c9 f) | else {7 i5 b% v0 m9 C
7 N% |+ P: b$ u- y$ l" A5 Z
di "cannot find minp"
. L1 @1 a( p5 O/ ^+ C3 z; F7 e 6 U6 @2 Z$ d9 H: P* e. p7 m& b1 G
restore - Q" }0 J5 `; ?0 b0 H4 d
sum dx240- ~# Y2 M) N8 m' n" F, E
local tempminp=r(mean)
$ i/ C3 u2 B4 r
- X3 L, i! i8 [3 {8 K) O! V }. z: B. {2 S1 d: L
}
; d- c5 R: V, X0 V else {
! L- _6 a0 p7 W5 d( L: v
* P9 V5 f" H. A2 p keep if ddy240<=r(min)- V5 u; ]! n H7 F2 {5 L5 F
* l$ S6 i9 T6 j$ v5 G
sum dx240
$ @ }1 ]; J& W) G A
0 S6 F/ J9 ~* m# L z* ^6 b local tempminp=r(min)! V" T: G: Z% ^- H; e2 L y2 r
restore
& o( g# V) B, R4 y9 c6 J, F }6 F9 `) J, y5 g" M
8 A: z) |. h% s) @& V3 ?
1 J/ m& O( V( `; i- Z0 c( R5 x/ Y* E& n- U, }
gen minp=`tempminp' in 1
" T; G6 Q$ T' u! G *240 minp
$ u8 q, Y/ S S# n4 w" `2 U& }: q3 k$ G5 m7 W' I' g
r3 R5 E6 H: `
3 q. r+ A: ~, {( Z7 d: g% Z/ c preserve
9 l) d! m+ _& ~! f B& p& d( l
) h' f U6 }( h. h4 ~ sum v5 [aw =avol]9 {+ [+ A& B% n0 f, r% x
* |: Q! h; U; N: t4 N" i9 g
keep if dx240>r(mean)
, e: P5 e, S R/ y: F/ l 5 d1 L0 l& B4 }8 _2 g' C; N; ?
sum ddy2403 c: y: C& }$ w) a6 S9 e. w
4 E! z6 d$ w t# u if r(max)>0 {
0 {9 x$ S& D0 \% t& F 2 I( F: j1 s, M* n
keep if ddy240>=0
* E+ @5 \. j" f) V5 t! z
( d+ o/ b" r6 P" f. ?7 B3 U; X( j2 O4 s count W/ ^1 b: q( H% P8 _
1 e+ k# l7 k$ q& \4 V0 |
if r(N)>2 {
; }; B; {8 q+ e0 G
) {3 \. B# F- \# Y8 v1 }4 D _( Z8 |6 a pkexamine dx240 dy240
8 ?3 c- `+ M; G; o9 l' T5 n6 ~
3 Z( L( o$ A% \4 P, ^ local tempmaxp=r(tomc)
0 l+ m# @8 E+ ~1 |1 G; h restore
3 I/ f% X7 T* _5 d5 P) w }+ z9 y- Q3 f2 w2 e, t F& m+ \/ a
& Z8 w. ?9 @4 E `* V 7 r1 v! S% O2 n9 t* J+ x7 l& |
else {; a y: h" ~7 b1 j+ @
restore ) P" @$ a; b1 @: u3 H
di "cannot find maxp"
7 D6 r7 m/ z7 N- D
8 r1 x. ]6 t. i9 Z1 R5 \* y & W7 P" q1 X; ^+ @( t' K. r
sum dx240* `4 D3 |. j7 _- |& r, g/ s2 c) }
local tempmaxp=r(mean)9 A3 b- ^/ T7 @8 N" A! h" Z1 P
* J0 k5 ~! U9 T' P. ` }
( b4 B( T8 s9 Z7 ]4 @
- K; B) h4 u* @- R) C& J# S8 z2 p9 O }6 }! e* U' {! S9 E0 y
7 ?5 N! R% o% f1 c; S else {( y3 R! L- u" r# ^$ ^2 s
2 v+ i. ]- J5 H
keep if ddy240>=r(max)
% {! {0 J( |1 p6 R/ y" \2 O
; T7 u0 e; I8 M1 h* {" \ k4 R sum dx240
# T2 F1 Q6 v4 c5 K# q6 I
+ P. [9 o" V# s- i' @* F local tempmaxp=r(max)
* ^5 O! `' ~/ X9 s! s$ j: N' E7 h restore
3 ]+ N! _' x4 f0 B6 U. n- { }
7 C- H8 ?4 ]2 h8 D/ b- K8 X 8 J" ?7 r4 F j
9 ?/ o, }! k( V * M! v8 _+ I& L# x& d: l6 v( i' k
3 _( ?. h" y$ v- d# s+ H
gen maxp=`tempmaxp' in 1
; o* _8 `' g. Y4 ]
; r/ y- v9 F8 U) E2 w *240maxp j8 n( Q3 u/ Q/ E y X7 n
1 U* K) P" q; L$ a/ {, f
; R3 H# c& J2 M: _# c
*-------------ddy240pminp左侧高峰值-----
3 ]7 _8 i, A9 R2 P 8 h5 r/ d) N5 Z5 Y& e6 e% k
preserve % |& L9 N6 v. k9 B4 }4 S
8 O l& f4 X' I2 d
keep if dx240<`tempminp'& z# {6 S) M1 e: ?% o0 P! N2 Q
t$ h y! E0 d2 [3 F keep if ddy240>0
! O- f2 r$ s7 A. ?1 H' i" B+ i
$ _1 A- b7 t+ v count( Y. A/ N9 F, h! c
S# E/ t% K6 x/ q; W! K
if r(N)>2 {
/ }) g4 c& Z/ `- G' F8 W ) ]3 y0 Y/ r" J1 e$ R$ X2 ]" Y
pkexamine dx240 ddy240* ^, n4 T6 T& P$ m4 ?) k+ ~
* j% K* q r9 k" N0 f
local tempminphddy240=r(tomc)
. {6 P9 r6 T j restore' E7 E8 a7 w9 }" M3 P8 W
}" }. q9 }8 [9 u! I2 _
4 F1 M1 {. A1 [$ v else {
# H: Q0 L# i! m restore
, D/ G; x9 b/ P8 M di "cannot find pminphddy240"
" R% x8 X: g y) l" g; R. R
& J& R( m% Y7 g( M. \2 x
# M% X/ e4 W9 c' L/ L sum dx240 z' y2 u5 k1 b- N& [9 q1 }
local tempminphddy240=r(mean) 3 q& z( q; U7 f/ H4 p
5 k {$ N$ {( v# N ' c# ^( H: W6 p8 ~- f
}
* W. a3 m5 I; f8 W4 y' k" m6 n
: J+ u4 |7 m+ X- B
8 Y$ ~/ Y: m: [+ X! u" F , b7 j3 d& b" Q# v' c. E4 @
/ v4 R$ N& c+ q- O1 o5 I
' T. w3 y* f0 Z% C& h& g8 R5 F
( A* K" y. ^1 Y+ x# r+ U+ ]3 B, A gen pminphddy240=`tempminphddy240' in 17 s$ g& e8 {! a" l4 a9 j# b
8 Y0 o; N! |% v' R
5 G# @; g* Q9 b *-------------ddy240pminp右侧低峰值 -----------------# U+ `' u" h; ?; G2 `6 \
preserve + P" k2 s0 O& q( ?; D/ G+ ~0 u D1 w
) r) j! `) `1 I5 b& l9 }# X keep if dx240>`tempminp'
! i# w+ K. x q( s
+ G& E: V9 p) i1 I2 @% Z/ h keep if dx240<`tempmaxp'
7 O+ Y2 {2 C4 l0 Y" x) ^ # V _( y$ @& M' e5 c6 T
keep if ddy240<0* J4 J U3 f0 K* c) ^1 l
# A' x3 A" h6 D; b
gen temddy240=-ddy2407 J! G2 C3 U; N7 }9 V v2 v% R
! V- P5 j0 y' s4 Z% P4 L3 P
count
3 \2 L2 t5 Y) z1 z" K " y6 E1 _% A# B- E6 _
if r(N)>2 {
0 G+ h9 J+ P$ f/ ^
, C, f4 s/ L# V9 F pkexamine dx240 temddy240# B& u8 m- s ?6 j9 f9 Q
' B% L& ^' ]9 O; c; x1 n" ^ `
local tempminplddy240=r(tomc)
u$ b% u; ]* d- n& y% z2 q9 {) }2 ~ restore& a+ N5 t) c4 Y8 f }
}
5 u; a- F, `3 V ' l$ s; [; m/ }3 J Q3 P
else {. M8 ^8 \6 a1 r& ]7 Q1 _0 Q
1 R( G1 x6 L6 e9 q# g
di "cannot find pminplddy240"
% ^" a4 f- ~7 V( ~ K" z4 H restore
& I0 o T" L, s. g% C7 R& M: V
; ]& w/ r9 h. G! l0 i- F6 A sum dx2409 C& a' ]0 Z+ S0 h& p
local tempminplddy240=r(mean)8 U3 X8 U: J6 c2 I7 ~
" _# e' F' M2 g1 w
1 @2 _; Z+ X' O6 j& |! O }( y) ?7 J) Z: x9 w! i! ~
2 [3 s# V6 h4 u' G, @( n1 D 0 w. V8 P' U( O% B) }% z7 r
6 Z$ P8 ^: R* i# v; L " s$ d$ Q. k7 B" ~% J/ C8 M3 R
! `+ L7 i# V, `6 ]& j$ P: n; G gen pminplddy240=`tempminplddy240' in 1: u _4 }% Y2 @1 m
6 P, k% M3 f* P; g
*-------------ddy240pmaxp左侧高峰值 -------------------' J1 B' i# q8 I- |2 c- @3 R1 v
) N( W1 \ w( a preserve
# h: x$ b% j2 G4 F
_9 C0 s& v5 w/ d3 v keep if dx240>`tempminp'$ F M; B6 g! `
2 j" _5 ` Z) h; u: L keep if dx240<`tempmaxp', m- \, } T8 d' |& s. V9 k! a9 {, g
p/ v# s+ w# a; D9 O
keep if ddy240>09 f: O* n# d4 S+ }' O" Z- ]
count
: W! z0 l, A2 ^: z7 l, } " X' B/ _/ G: s6 o& W
if r(N)>2 {# s7 Q5 i6 y; c, C X- c0 o. |
" } u0 E3 l7 C
pkexamine dx240 ddy240* `. j, ]6 r" ]: l. J
; F" v2 {$ S* D& ]
local tempmaxphddy240=r(tomc) $ R" m3 `+ i- b. s$ f8 v
: J! A. } n* ~( J
restore
1 p+ g. i5 P# g1 c7 n3 N3 O }9 y6 X3 _4 r" U# ?
4 Q9 M/ k9 M8 u: B9 E else {
/ P5 F! f6 |- R& T6 k J' | ! R/ ?9 e% E$ S$ E! u
di "cannot find pmaxphddy240"
1 ^2 `+ }4 J" z `+ s restore: p7 T9 K; ~& i! t# H
! M3 t, ~" k% ^" S0 E9 e
sum dx2406 x. X* W4 O) h: d- O' X+ _
local tempmaxphddy240=r(mean) & z' Z9 F, P. a& B
, v0 M8 ~; A5 L F
! m# _2 ^3 u. w# w3 ^+ k; f
}
. H6 N# b) ~5 P8 o 5 R G; {* l4 p. z1 L. [$ O: C/ `
1 Z4 G' L$ M5 t& I7 o5 c . G+ O( E! I' ~! f
, k, |9 A( ^& X
6 k8 ~+ i1 [+ ~
; t5 Q( U7 R/ S& ~
gen pmaxphddy240=`tempmaxphddy240' in 15 [# O7 j2 c7 p1 d$ n0 R
$ A* [( z% ~1 V. v+ v9 e t
9 K% I3 p( \$ b8 O: M# j
*-------------ddy240pmaxp右侧低峰值 -------------------
7 ~# @/ I1 L8 y0 z; c
: U. n, {% U, S" i& v- ~! m preserve
3 I: m" E9 U% x1 O' O ; T x+ Y9 G0 @2 e1 ^
keep if dx240>`tempmaxp'
T( q1 @. W n0 E% d0 y" _
1 m9 i* b' q; g: {: S3 e gen temddy240=-ddy240
- J# }/ U7 A# r" j( U+ I0 i " v% r2 b# R- _% T6 Z9 N; f; @
keep if temddy240>0
# ~9 }9 U: `5 T1 W . `) e5 X- e( D9 {2 V; L( a
count7 [, b2 }/ l5 K5 p1 a; |1 \( m; x
# _3 l) n3 Q5 S6 y if r(N)>2 {& g2 S3 `5 m6 R) @
8 g! b3 C- j5 s" O- r6 z6 W4 j
pkexamine dx240 temddy240. ^6 }# `- z" Q8 V( X1 f
' `+ M/ g1 L* O7 K& ^. o& x) G' }! H local tempmaxplddy240=r(tomc)
4 j" h2 l0 k4 ]% i* {; |# B restore
5 Z: N! B3 O: b; P }
# K$ K) u1 f' ^
+ N3 I$ w5 M, i: {2 i else {
5 H8 s8 y y4 _0 m. O" M } restore0 n& x1 z& o4 V* i D$ u; s+ j
di "cannot find pmaxlhddy240"
/ n: k* p$ e1 B5 m7 |# u! d & y4 r2 R; c/ o e7 U2 G: B5 |/ g
) B# _0 |4 [! W: T! S" G
sum dx240
1 ]( J( K) Z/ F& P local tempmaxplddy240=r(mean) in 1) O, d7 |6 n/ `/ h: K7 V
; b) B' |9 Z; V6 T1 I( t$ V/ I8 H
; M8 C+ |! o8 F; g$ I& Q) j* U }3 Q/ d7 \# [. C" J
2 ?1 I6 @7 N- }% U" k$ M7 j% o1 ?
& w; ]0 Q/ Q# Z v 6 R/ D1 } C8 }$ u# V$ j9 s. w
n) ?0 {4 j6 b$ X
1 G: o8 [9 I# l5 |( f
) Q. C' C; q; Q# ], v: p1 [0 ? gen pmaxplddy240=`tempmaxphddy240' in 1 w r& ~- b1 ?4 S v( x2 u. ~
: b; i$ t; c ^% X. o0 N
*-------------------------------------; t% W; v. P: O
/ \0 v& ]$ I7 e4 c+ l6 P$ y% k
gen price5d=v5 in 1/20
+ E# }0 s( c- w8 @- Z8 F' I ! G1 e8 s9 M& I
gen price5yy=_n in 1/20
- M9 h; a2 j% S t3 v8 [: q
0 s7 o6 i1 j9 o8 ~( U% z) _ gen price5y=price5yy*(dy240max-dy240min)/209 ^: _2 P: y" H% H9 \
/ o+ R1 R' |5 [% W, a/ |
*price5y &price5d
9 v. T, k3 d; {, u
" ]8 Z8 t2 x* ]0 ^ d, M0 u gen priceny=price5y in 1- N! k& P) I7 S4 G
2 q# G' z+ T( u/ S: o$ v gen pricen=v5 in 1/ H4 t2 w. X$ }- n
; G3 c! e/ D4 M6 |2 M
! \" s9 ?+ O2 G4 f+ T) U# |
*priceny &pricen
4 s% J" |" ?( @ V( ]
# S2 d" d$ l/ x; n# }1 l 8 G! ]- a1 x' R1 S- t# {7 \+ O1 F
*-------------------------graph------------------/ I' W; w; @& e' T0 @7 U' `, _4 Q
' \, H' f/ q. Z& w+ i! S' j2 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)
7 h. ^: V( w: I5 O
& f1 V& C# _" _5 m1 Z: l9 S* ---------可选项目----------------------
; V0 C4 Z6 V6 K2 e$ `0 D) a2 M*(spike yxis amean,lc(blue))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean))8 u8 Y4 J/ `0 F4 ?9 w2 x# E
}
# H* M& U( P- a/ Vend
* }& ^# }2 _& b |
|