|
|
maodeng 发表于 2013-1-28 13:13 , m9 [5 Y& g2 T
. hello 300236
4 l: R2 y2 K, O/ Ostatement out of context
: ^& T/ p* K& Nr(119);
9 W7 r& D/ P: R; J" B6 L/ r" K8 Q抱歉,最近太忙了
( z# ?( k6 q* B+ |- w! C( F& c1 q4 S$ n$ Q
300236 我用下面的程序试过,没问题+ T1 P1 Q6 \9 f8 z c0 b
7 ?, L" b+ N; Q/ _你把 D:\stock\test\source 改成你导出的数据存放的目录,再试一试! D: `; f5 E! o$ L6 y* B. u
% d' E( I. G+ w7 B3 }2 g, B
capture program drop hello, M {8 `* r& B5 N
: f+ D- x! n/ y0 c. ^, t; B
program hello$ V/ y) l$ a/ d2 w
8 c$ w$ V5 Y b7 R* m quietly {
: ?5 u4 R. a. [% t) j
- @9 e6 N9 y2 T; qclear- Y/ G. b5 f- Y- S! K, m
! z0 H6 e, ^( Y$ z) G
cd D:\stock\test\source
" H7 p. Z( U' _7 j' c' T3 V9 D5 t' n' C4 i
insheet using `1'.txt5 S2 S/ K4 n4 x, i* H" ?9 J
4 H' R" z, U1 k- Z9 E3 p
keep if v5>03 ?- [0 J A1 ^- m& m; H8 M
/ n5 |, E$ x7 O* H0 O/ A$ e
gen vt=_n! X9 @" {3 j; D
* E9 F4 ~7 t, T- Q0 T% J tsset vt
# |' |* c* L9 K6 v" q- w1 U2 f6 E! F$ p' m, V: U
gen zf=D1.v5. s S9 d4 M- L0 Z0 y$ ]9 S; x9 o
) j, a0 X7 @1 ` b0 W$ c) [( }* |5 [ z gsort -v1
' n. T; Q+ |- S# B" ^$ E( ^6 o3 H3 ?5 F6 F6 B5 N: G+ L% Y
gen avol=v7/v5
) h! n, V9 y6 K2 A% ~( a O , B: [0 E( W" g* x# v
keep if avol>0
, R; D0 ?4 d# q6 T, ~ 7 y. m; Q6 [- N# L9 _0 H
drop vt
/ L/ C- s' ?. V3 f ) t2 F8 [ w$ v4 e# _
gen vt=_n
1 A/ B; W7 q7 [
4 L. I" B! r) _5 W& k2 w' `$ N) J tsset vt S6 L$ W$ p E& V2 H E' B
5 T: d R, n7 i+ ?; A
sum v5 [aw =avol]0 ~% f2 v7 G `1 w
+ K+ `" N$ @9 z$ C gen amean=r(mean) in 1
0 Y" R2 X D+ n8 l9 Z
# K- m" G* T4 [; r7 i+ c * 总加权平均值 amean
5 W ~3 T; H' u5 B% `
! N; n, T7 G5 J% u , M. _# ~' }6 v4 } _ l
keep in 1/240: U7 P, w8 B, t6 @- ]+ d; M
6 N) _! U9 s3 @3 ~3 S. a sum v5 [aw =avol]3 h4 J. [8 T* z- K2 O
0 C" X# N7 C7 D# c
gen mean240=r(mean) in 1
4 ~* [* O/ o0 b' j+ I" ^' X1 V% a 4 T2 C: |% f' o3 p/ t
*240加权平均值 mean2409 j1 H' Y: b$ x4 K1 e( d
( A5 d, @, |# G) M* b set obs 500 7 C: y- c- }( \! S# V1 a, x, r
9 e% l% b* K( K g7 o! J
kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph
$ b2 z# b1 T- o2 W: A" \
4 n7 Q: @$ }- D: j& X+ V# v& l' d *240 kdensity(dx240 dy240) [% ^3 [( Y a) n
2 l& @/ _, j8 X/ D sum dy2407 y3 ], k2 E0 G% s
% c L% d4 `' e! H* d/ D gen yxis=r(max) in 1) C+ c+ ?& q3 q# I6 ]% x; E: s
3 K3 N; c4 B! E& w$ F
gen yxis2=yxis/23 q1 d* P q7 d0 w$ q! v7 W( [/ i
) J- w/ Y( w' X$ p6 G7 Q2 t( c+ D. K/ ? *yxis9 y0 N3 Y. e+ j, j: u& ?9 X. r4 e
) v: Z: ~" z7 h4 i' ~ gen dy240max=r(max). M5 Y: }$ o( ?- a* Q) X
1 @. |8 f( w! W, m" ^: `) X7 B gen dy240minp=r(min)
" p; l5 m$ n; B" m7 U2 K! W
5 G9 n+ R' I" A# e+ K9 H gen vtt=_n6 A: Y4 u( y0 e
, w0 X( Q# b! k/ h tsset vtt
v& N G8 a: ?/ f) T" v0 B3 W {! r: s; [5 W
gen ddy240=D1.dy240/D1.dx240! k2 K6 J, c8 z9 F) n9 d
) Y8 C2 t% }) B- P& ]
sum ddy240
, y# n! Q- g* S; S - W, x( e$ g$ ~/ r+ W) U6 u# s
gen ddy240max=r(max)
1 k1 K4 e: T' f/ x# ~0 C1 @ 4 e D+ @+ ]; Q' ?( G6 L
gen ddy240min=r(min)
: E1 x/ q' I; [0 j5 g5 D
8 \; ?3 ?$ E3 V gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)
; J% H$ n4 `8 o/ [6 w h- H0 \
5 ^$ c/ D' v1 B( Y6 c sum ddy240g6 x, g8 b& R+ o, L! V
+ x9 \& a1 Q$ x$ x
gen yxis3=r(min) in 1
! P5 j+ m% d* \ , I; Z( L! p3 _9 y2 d( d5 z# U
gen yxis4=0 in 1
) ~( f5 X4 a8 t9 K1 b( `; i" F" b 0 m% S6 ?: v1 d
*ddy240g - i, a* G$ a3 \
+ \3 ]$ \ N/ U# s8 R
L* J; A9 R$ O- D5 f
preserve & c- R5 ^5 o) ]3 v
u5 Y& d2 ]! Z! H6 w' E$ X
sum v5 [aw =avol]
+ Z( Q- C) s- A. t S: \: z' K- N0 h
keep if dx240<r(mean)' Y! O, z, M% t% a" Z; K
+ E1 j- v6 } V e
sum ddy2403 J- h* |) e1 |, i7 Y
! Y+ i8 B k/ J) I6 C9 P1 N& T if r(min)<0 {
4 ^: r( |5 f {- Q( a . Q+ i& ?" ]5 V9 Z: Q
keep if ddy240<=0: O, x- u: `8 ]+ }: Y: m
2 M" X' q, q7 s+ z
count
* |% v' X+ z$ g8 Z # [1 V( r6 C8 z3 |# N N
if r(N)>2 {% Z% I+ M+ l) w3 }1 ?: E
* H, a2 T2 j# e3 o C; b. w pkexamine dx240 dy240
3 p$ q* ]( Z! \% z$ ^7 [7 @* f 7 u; ?/ a( E" K, X$ z( f
local tempminp=r(tomc)
4 l* }. z) O5 k3 ]. p$ V restore
9 p# r1 g$ ]8 _ }
# [! o9 g( I# T
5 m( r/ a/ |: z; _' t2 s q V else {4 M9 K0 ^, c) C! {. g3 J5 \! r
* Z. P7 J% g1 c
di "cannot find minp"
* l- b( I% M, v' |7 @/ l; C
- s5 Y6 S1 i" j# W: [! K restore
' [% Z6 p3 K$ v! m3 L6 K sum dx240
' H: ?/ {3 |- p4 Q& t! c: E V# `8 G local tempminp=r(mean)
; ?- O# R g$ B, k3 i5 T
) `3 T& u: k' k$ \( v, v$ [ }
; w* ^6 ]4 P, b }8 c) x% U. |* ?8 f5 [8 v$ f
else {
* S! X' [+ [( A8 P& x/ o4 B' ~
: q3 V# O. @3 [: F keep if ddy240<=r(min); z# A4 B: J# @& u7 q
9 l! U: u/ A9 q; X8 o sum dx240. d$ A/ M0 N# W
- G V ~, |2 s7 |4 ]7 C2 l local tempminp=r(min); H7 S& J0 m4 s3 Q
restore 6 G5 A, k# Q5 `. S i& q
}# q6 M& g; m6 }7 h6 g- y) _$ L
* e N$ G$ H2 _5 R3 L
3 L7 ~" \/ U' _6 R# H% o4 m
& x& Y3 C# Y& A* L. s gen minp=`tempminp' in 13 o1 l$ p6 O6 E, U
*240 minp9 D* O! T2 ~* i. _* v5 R4 W/ x
8 X* M x f/ D. J; N* l: \
# \: k1 w& V+ @; W3 {
, L0 O, u8 w: { N9 |
preserve 4 R, @6 h' O& f3 s. |$ B& I( I0 y. [- R
3 k9 |' ]' d( P' f sum v5 [aw =avol]
. c6 B- T" v b# z$ ?2 K8 e% s" P + @6 v% }2 x7 I7 _4 h
keep if dx240>r(mean)
7 H( ~; {9 }9 _0 M2 ~% Y6 ^( W 3 n+ A. D" E$ u) n$ d% X7 q- V" T
sum ddy240
6 q; J* a6 m' z+ r* a0 J) Z
1 s, X! u# u; o& n( ] if r(max)>0 {
6 u* U3 t4 v B5 W ) {7 b) P' C7 J
keep if ddy240>=08 p7 a9 p8 z& W1 ]/ l
8 c+ a: v6 F+ i# m9 {: B7 r$ a
count
; } C" C8 P" k \
9 E. Y0 k; U5 m2 L( b1 I" F. B" w0 D if r(N)>2 {
" {$ q/ N( R: x: L% U5 i; N 8 h/ D6 E3 S# M f; v
pkexamine dx240 dy240
1 L. v' D7 @: n
; X3 p) ?3 O: Y( G local tempmaxp=r(tomc)
: y2 F3 Z) z* m) H restore 7 `7 I. y9 P/ ~* j" s9 F5 R/ M' O
}
e, [2 U3 v+ V / @; G* L9 |. ~8 \" a7 ?+ Q* h
. O9 G5 y1 k9 F. l& v
else {
: F9 ?& F7 Y) v+ [# r% ~$ |/ |! p restore
* x* d" T3 \1 o, I& R di "cannot find maxp"
4 \: H2 O; E* z/ f1 n9 Y( u
6 G: P" W2 C4 H% ~ # M' y8 ^1 N M& n0 l* r7 g
sum dx240
+ u" d1 {+ y4 C' i9 K" l \ local tempmaxp=r(mean)5 x! D3 y7 o; o( n! a5 g( E, K7 x5 t8 V
) Y/ U$ P" U6 i' m. x
}
: q `# V. o) E' R/ u. ~/ C
4 z, n8 r- w a0 Y, U. c" {2 Y! o }
4 U2 N1 H' m, f8 T, u
/ {- g1 c( G2 D1 N else {/ f7 C0 D$ g2 I/ K+ L( L0 d
+ H7 R3 v$ d* e( q
keep if ddy240>=r(max)
7 T# ?$ w( O; K- B) |0 i
6 W4 d. \/ e l& I sum dx240$ ^: q% a: ^* F4 s, @% Q1 @
- K! u2 [1 i' y: x3 ] local tempmaxp=r(max) 7 B* j& e) V. M3 ]6 O
restore
6 n W! F* P O }6 K4 f- S( m% ~6 R% m* u
: b" t" b# C$ J1 h. l5 k
; ?) k' d6 l4 R" P/ N! R, R
& n: U U8 ]5 D, t- R! ]5 f/ U' }& h2 u( X( ^4 `
gen maxp=`tempmaxp' in 1
( _; w- G5 H/ j% i: L/ H& N 4 q" Y6 J) F, q- @ e( V0 O4 i: E
*240maxp
H g3 \9 ]4 Q8 V2 d, _ ' f8 Y; Y7 n$ `
4 R+ B1 V! `6 a4 c9 a
*-------------ddy240pminp左侧高峰值-----1 k8 J# [8 C9 d
: s+ s A# X/ a. w2 e preserve - r1 h h, S$ C6 q: g1 Z
3 T$ z+ x: o j- c4 D/ c% x keep if dx240<`tempminp'
$ H' P! g% c$ u9 k
, y4 g r% c$ a- }" r keep if ddy240>0; m8 m* J; I/ J$ _3 `% ^6 k
: \6 X: X2 T0 m& a3 ]% q7 [, U count
4 r9 c* `3 Y* y3 q
# W6 z9 c6 }- a! a& |) ~ if r(N)>2 {
: c2 Z, j/ O$ p, J
9 P& a% {+ t. b$ T pkexamine dx240 ddy240
+ R+ g& p* i! ]% A6 v' d7 c
& m( w! }3 G$ d+ S local tempminphddy240=r(tomc) & L( Q' x* |4 `& T) \
restore
- o/ U- o, z$ e2 v4 }; V8 @ }/ K4 J- q" h2 U9 v( Z
$ u# W8 H0 _) q& j$ W4 S else {. Q( Y* g4 y/ q% |
restore
0 u2 ~) D3 [3 B' m- }- ?# j di "cannot find pminphddy240") A- i1 ]; O( i. `* c
' N9 `. M6 v: o9 x
: ^+ d3 e6 E1 \ s. j; _$ j sum dx240) i# c- K1 y, t* k# L
local tempminphddy240=r(mean)
: ?& j, r0 O* g$ E! ?' o
8 J9 X7 U- l" S6 H. X " p ?5 m& W& Z a; H
}0 k* T0 H! U; _: @1 f9 f0 P
) H6 {/ o2 Y* J8 Y0 G 7 Y. C2 R$ F- E( x( p
, d& V3 L2 `/ h6 m! \
: h1 G5 N/ J [& k8 q& u& ]$ s6 L
- k3 {0 b& ?8 x9 T( y1 q7 ]& \
1 s* U l/ t% i# r8 d
gen pminphddy240=`tempminphddy240' in 1
7 q: r% t" A7 M) B& ] ! w: \' R0 P& y" a( N* J, L5 e
! |! ^8 `8 x5 `" ~ *-------------ddy240pminp右侧低峰值 -----------------( q. v5 R% R2 d; K" E B
preserve - ~' _# p: O4 y4 H& V7 b* c
; N/ A+ B5 O; e: z) c8 F& m0 J keep if dx240>`tempminp'8 h' U1 s# N+ ^" ^+ A" w* c
* n; x1 k8 N' g. w2 l
keep if dx240<`tempmaxp'
8 E7 m4 M/ f# r7 e T
7 Q" r5 B( B+ R9 E' O keep if ddy240<01 x" F* n9 m! O# r+ H) u, Z$ H' e
6 }! v% L$ t* K/ p; C* R
gen temddy240=-ddy240
% D% z V3 s* S* d % S8 x0 i) }2 P" \% a& l ]
count
" h8 J+ M6 e; S : ~, o5 _3 ]% O. {/ N% }- K
if r(N)>2 {& u( x9 Z; h$ V. I X) c
+ N# a# [+ L, U. y pkexamine dx240 temddy240
! [& G3 K5 g3 h; _) P: s $ A- I8 o/ a' h3 d6 S
local tempminplddy240=r(tomc)/ |! y; R- Y: G
restore
6 G4 E, W5 P% J1 o }
& p, s% I- [/ K0 @/ \6 H1 }/ [
7 o' d ~4 V+ y else {; f* W% R X% Y( {* J9 W
$ {! A) S9 J! {* l) c8 p+ A
di "cannot find pminplddy240"8 l* r g W* i; y$ ?
restore c' L. [! Y" o5 k
; ?+ L0 t0 }3 h
sum dx240, b' L# g) [: t+ e; k: W5 }
local tempminplddy240=r(mean)
0 J& P- U# `- d6 p
8 F# @0 ]0 _% A) S) _ ) r0 \% `/ y: M% t* p, C+ A# ^0 c
}
, p& x2 U/ _7 \5 N: [ . i3 B& r @( d" P1 u
! S" o, I- S; J! U: ]" V * G& R, I! [8 G2 D/ R! i
& x8 p2 C6 Q' v9 F9 |6 @
) D) s9 b9 w( O; G gen pminplddy240=`tempminplddy240' in 1 w$ q, C, L" N. F
3 n2 o( }5 L4 {6 E, J7 P" a# @ *-------------ddy240pmaxp左侧高峰值 -------------------* V+ Q, d3 m m8 N) R5 O" b' F$ F9 H" g* r
$ ~) [( o5 s8 r& B( ^' x5 t7 R
preserve 2 Q1 g+ X2 o* t) l
$ t8 z: @0 Q$ O
keep if dx240>`tempminp'
" {- z9 C" [& Q, R% g! Y2 L
: E5 e# E" i: A; g keep if dx240<`tempmaxp'
! Q* f# s! Q% u9 v; q* S* T- r, r
8 N" K I! C9 p! y keep if ddy240>03 k$ }0 v+ `# R# O2 g1 j- V
count
+ _4 E8 c& v" c1 X7 @1 k+ N5 x 7 Z+ L6 F6 Z8 H* H
if r(N)>2 {
0 l" ^, \; C, n$ a# t' b0 J" T4 }
5 B! a0 |/ K( [6 H0 ^2 D# N pkexamine dx240 ddy240
( u4 Q# b. [4 @0 ~# } 9 Q* p1 j2 L" f& p: L! \
local tempmaxphddy240=r(tomc)
" n, g, W$ [1 a% {1 @3 ^) B 2 X* l* B' y/ d& A; `3 q% }* x/ F
restore
3 _4 M- }' g8 Y* N! w0 e }
6 U/ a; A* p% D2 u% \4 j
9 \- k. u' J: d4 v3 b8 N2 s* x else {
; A) H Q, ?: } 8 a* r8 S; _& R$ f- n5 l
di "cannot find pmaxphddy240"% H; R: s: A0 j; t4 R" J
restore t" s' B* N( e# J
2 X3 `1 O2 k! q$ R( R sum dx240/ o* e+ n- B3 [$ ?7 [# C) a
local tempmaxphddy240=r(mean)
$ M( m/ ~1 H& `- b) N+ p ^6 c
$ n0 l! q8 D8 V4 G' a
+ P; J7 x, T* R* K' r7 ^ }8 l9 C- x& v+ f# _
. |8 y. g; x# Y0 y& K
! b. i4 i+ O- U3 K% O+ |* w$ F2 J
( w8 r( G' A& C+ Y
3 c6 o2 u( w! t3 ]) s; G
( Z# V8 V8 z1 H. G/ @ ?+ F ] ) r w" Q6 @ S
gen pmaxphddy240=`tempmaxphddy240' in 1/ N+ T) Z% R1 d5 z. `1 }7 P% _
9 U$ c) ^0 E, B0 W, Q6 h
5 ]. E3 P# K; r
*-------------ddy240pmaxp右侧低峰值 -------------------" X, N5 G/ m$ Z
7 p" n3 M& X7 ?$ `0 F/ B% d$ ` preserve 7 p! Z( Z6 r* x: y. W0 g- }
( ?) r' A8 q i
keep if dx240>`tempmaxp'3 x) I9 f4 x# {; F3 t
* K) Q. Z5 _3 d7 y6 i9 v2 v( `% O
gen temddy240=-ddy240- c3 y( o; q6 `2 _6 K$ X2 j
& B0 [" C0 {, X+ |$ T$ G* B keep if temddy240>0+ Q2 d% }" T" B
5 c, d$ F9 C* O( q' L count8 ~3 r: E- j3 c4 g5 } y0 D: o
6 ]8 H' O3 n) W3 V, T
if r(N)>2 {5 `% d, u( ~& x2 k6 \
9 M$ @' ]2 b! u9 E pkexamine dx240 temddy240+ `4 u7 V0 i# _+ r; Y- A
1 t: V' Q) E% M$ T4 p z$ v5 d# |3 M5 e local tempmaxplddy240=r(tomc)
2 L; R' o6 V" K restore3 U1 p0 A8 \* L
}/ O& j6 N+ F! y6 ^! f# O
' z$ b9 L( K7 B+ g% q* [
else {$ p( V5 J- U0 d- }' ~+ B/ B
restore ?! }4 n# _' \, {( [; l( Z1 f0 V
di "cannot find pmaxlhddy240"
) U4 O; l, v5 X7 I6 i6 i% a . w. P5 Y+ Y+ c' b2 _) f
' c* W; v) S# s
sum dx240
) ~8 N# K) G$ E' _' J2 {: V local tempmaxplddy240=r(mean) in 1' S3 a- G4 _* D( g8 P
4 u$ P5 w; I/ }2 o 5 ]7 W, @ }4 ]. G# S. [
}
+ p2 L: T, W! P: ]: e' a# v 8 R& n! f9 N3 o" s$ r
* s, D' {$ N% o3 Z0 G% p: b" C 7 C9 x+ t+ o) F
, O& C4 a- R, q- d7 \, n6 B* S( q
1 ]8 x4 ?2 t9 d& s* P, B
& P! l$ }3 S7 M' _% {; ?8 J gen pmaxplddy240=`tempmaxphddy240' in 1
# O5 |$ J3 e* g$ ]/ J2 w) [# E1 D % A8 t3 k* s7 ]( F# @! t. N
*-------------------------------------
+ v, `+ w4 {) y _4 S) l& y1 t
- y$ Q2 D7 u3 a" @ gen price5d=v5 in 1/20
8 C7 a7 `9 x" v % x: @2 {5 a+ p
gen price5yy=_n in 1/207 o" v! f6 E4 E$ z( v% Q* [; \
3 S7 W7 y) x: [7 T7 X$ v gen price5y=price5yy*(dy240max-dy240min)/205 D8 t- O( s8 R7 t3 E
( B. H, J. p- s: Z/ X: m# Q8 r
*price5y &price5d8 B$ Q; l" Y0 ?
( e) v; I$ }: y3 v1 {. F0 O gen priceny=price5y in 1
6 o( _ V* D/ E* ?2 H) [/ ^ $ W& C9 B( ]7 e3 R2 J2 Y7 L0 _1 \
gen pricen=v5 in 1* V2 X/ ?* t t
7 z4 s1 ^* A; w( W; f3 z- m) o
- j7 m; y. Z3 ]; ^/ S3 f1 w
*priceny &pricen
4 E2 f% z8 Q/ Q0 A- y 5 K: {2 k8 G# ]5 j9 L/ B
, o4 ]' z, f" ]& K *-------------------------graph------------------& R6 h# x2 Z) Z- T: \4 S! B: ^
H1 |" M/ A) ]+ P
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)
- e) i4 F; h, k1 x) L1 J4 _: R9 d
1 N+ ?5 U& I1 [& _" j* ---------可选项目----------------------
- x6 j$ ?- w. O% L*(spike yxis amean,lc(blue))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean))
) q4 C. H( C- p& ^4 O% b+ K}
5 T7 Z b8 V% `6 R: gend8 \! F) {: F. C- a9 ^
|
|