|
maodeng 发表于 2013-1-28 13:13 $ K7 M) k9 T, G/ L2 m6 K/ Y2 X
. hello 300236
! x- X( Q( Z2 q# ?statement out of context
+ m+ p* q2 |6 C) ]r(119);
0 Z; p% ?, a0 o; Q6 s& ^4 L# p抱歉,最近太忙了
. y/ P& z/ O1 M
% n9 }9 { H/ f( `/ ~2 N7 S300236 我用下面的程序试过,没问题
& w3 p& u; X( _# b, i1 l2 d. ~/ [0 N
你把 D:\stock\test\source 改成你导出的数据存放的目录,再试一试
& C! r1 y! c7 ?: C8 f1 p4 _6 \5 M4 F q' `( S5 s! g
capture program drop hello
1 S8 _4 a6 o- r/ K6 U7 t' F% } I2 c
7 P4 O- V. O. l9 d3 ~ x3 Bprogram hello
. X; E7 R% |4 m& V
: k" Z0 x$ p U0 I quietly {( O- g: p! R* i" F3 n4 N W q
! W0 T m' ]5 q. u# Y f/ L) I
clear
$ y- T. [+ V* s% l' `6 l9 ~( w: B% e" X ?7 x; {* c
cd D:\stock\test\source D4 r1 L! g& D+ a9 Q5 l: q* \: @
5 G; S1 {# l' Z( h. V
insheet using `1'.txt4 Q: L' h, i. r2 @ T" C' J& y/ k
4 s- I8 T3 \: m' R$ l
keep if v5>0' Y( z0 O7 N$ ? P9 `
* ]1 d' {( ~3 ^; G gen vt=_n2 T3 t8 M4 G4 q+ @6 y1 Y% I3 n- V
3 z' d" ]; W6 w" m* @! w( c# Y tsset vt0 F: m+ n+ N2 d! F7 \
; R' w, t _( H9 q/ ~: R: |4 I gen zf=D1.v5) @7 W7 K% [0 _8 ~- G/ [
$ L6 t" _) H) n1 K8 E gsort -v1
. Q) R& p# r( h% U6 e4 X* }
' t1 t. A- E1 F% y: y+ R gen avol=v7/v5
* c O' Y4 F" w1 J6 S$ E ; _( A9 \ D/ `% F$ C$ F1 T
keep if avol>0; Y* R: \4 u7 _% N, Z$ }8 ?2 B u
. E: s; V' g8 m% K drop vt
' f6 D+ o' J' C3 \
) }! q* Y+ A0 f& T1 @0 G gen vt=_n% m' Y- q/ S! t0 h; ]# i
4 \; w9 `2 V' y3 y: I' a
tsset vt
% _9 S% t8 M6 H: N + U g) B( _3 l U7 m% P2 p6 `5 K
sum v5 [aw =avol]" e0 m4 w$ B: W" Q9 v* ?- S
7 I1 @) q) b9 v, z) H$ K
gen amean=r(mean) in 11 u/ @2 P+ V8 S( u4 M# l9 p/ S8 J
% @5 G8 u- v& f. @) T& t
* 总加权平均值 amean0 ]; o" k; h) [8 b9 v2 x( T
, F% p6 W: I3 {: K
3 ]$ N' V" J M keep in 1/2407 ]' x- L- t) T' p- T
* p) C) V8 }/ T6 s1 \& M @
sum v5 [aw =avol]
6 e$ u$ L8 `9 L. k5 j2 v4 s& U' y, A$ X
gen mean240=r(mean) in 1! m$ l0 C- f' u
8 w: `9 n/ q2 s1 _, e *240加权平均值 mean2402 z/ q$ |& ] W4 P
( v1 @# y0 i. O+ v5 u set obs 500
+ F* W( X% U2 h _3 W: i ) i' D- F. C8 ~! R, C9 k7 f
kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph4 J- _$ U5 [2 ]
+ L9 ?( [! @' _+ c$ Q: b *240 kdensity(dx240 dy240)
6 X+ ]1 ]5 @4 {$ O3 y" ^, z" h
" m6 P; s3 h, o" b( p sum dy240
" ~9 \ _* m) f, ~6 z3 S
- x+ b6 g2 Q6 d& i' _/ U8 h# [- c. X gen yxis=r(max) in 1
5 {# w$ b% C _4 c) Z! x
" R% G+ D0 s: Z! o5 ~9 j6 d: E gen yxis2=yxis/2/ b! }* C# o( j$ k2 [2 [$ |4 S. k: I; M
7 M' z" @2 z X X$ I
*yxis
3 u( o& K( k, |0 e
# R% Y) u3 c% p T: H- v gen dy240max=r(max). u; m3 f7 a) d
" x/ P. V: G2 ]! y5 s gen dy240minp=r(min)
; c+ W, N; Y" ~, |. h' Q* @8 `8 ~2 W " U8 M6 h4 }4 g4 T
gen vtt=_n
& Q5 R1 m& r( a7 d$ i( M4 ?; o; m6 k0 k; P' m& I% J8 e+ M
tsset vtt8 Q1 v* j$ Q7 Y. P% B
2 a f7 w8 t/ b; [
gen ddy240=D1.dy240/D1.dx240
. P, b' \$ ?1 i . P4 [- Z6 F$ ~
sum ddy240
2 S' l' ^6 R+ F/ T* [ & s- b3 J) k+ q/ G+ e
gen ddy240max=r(max)5 ~; @7 a2 r/ j7 y* P! E6 o
( @6 {' b# ^! m2 R4 v2 o1 o! t9 m gen ddy240min=r(min)
/ _2 H2 j) u! x% }7 R
0 s7 H5 K: t& B8 R6 [" w: G gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min) y# t, P n9 }4 w% K& i D
: ?/ a' ]8 ?- R' b; k+ z: l
sum ddy240g
* e* y- x2 p& t4 Z; B' y, y
" S' i2 G' r) v7 [1 b gen yxis3=r(min) in 18 N; Q1 I" _- U {' K9 E V1 ?5 ?' n
# \& _ k$ E- i* n- a
gen yxis4=0 in 1
8 w& @* Y3 }+ U1 }- U * P2 V. D: V4 s, R5 Q( a3 ^* a
*ddy240g
9 n0 |$ O k" z% f. B& H
6 }( @; O7 H$ ~2 D' m
3 \4 D2 I/ y$ x# k" l. x preserve
5 E0 A2 I6 B* N2 t! T 4 _0 J/ `' U7 F/ H
sum v5 [aw =avol]9 L+ N) o$ _" K$ H
; r3 |+ Z0 u4 K: B* o
keep if dx240<r(mean)" w) S" F, Y9 M! Y" z
' @3 L/ i8 d! L( |2 O5 O sum ddy240" _$ p+ b& ?: Y# `6 z
9 y5 d+ Q+ o' a, G: ?( m1 s
if r(min)<0 {3 g8 [; z6 N0 d7 U I2 J
' N% b1 a5 m# E6 c keep if ddy240<=0
1 @4 [* ]/ {. y
% X1 D. \2 [) N4 V# x. e count5 w/ z8 C# M0 F; v. M5 P8 }
3 k9 g' g4 h$ z( W) _ if r(N)>2 {2 o! ]5 A! R) M5 \5 N* b
4 ~. U/ R! U. Q, m; M2 w) K' @$ z& [
pkexamine dx240 dy240. `, X& S5 D3 Q6 t( G5 S& n8 n
! b8 @% Q/ e' Q* A8 Z$ e+ G
local tempminp=r(tomc)
" ?/ w e( d! G; M restore 9 Q9 H/ V& ~0 n; W
}
4 J9 X% m O1 J ( Y6 M, m2 v: R# r7 B" g9 ]
else {4 @/ E7 k1 w+ q# Y
7 u+ }6 y$ E3 k& D) F' ~6 n di "cannot find minp"
& b+ E* s6 ^4 L, q0 d/ u- S4 X ; e1 J9 M* Y3 W( U+ ?8 Y% L
restore 3 t$ a# s# C o8 w4 U; r& s
sum dx2404 }+ `/ o5 N' O( D
local tempminp=r(mean)
$ N9 k1 o6 s3 Y! l8 }1 i' ~$ Q & H. S& {1 m0 ?, k% l, g
}! B) B1 |1 I ]! j4 L' O6 s( Y
}2 H8 U6 l& o$ s8 u2 _
else {# `0 U5 P; L8 h9 h% Q2 P
) U. o0 k+ l! U
keep if ddy240<=r(min)" }; v: D( d8 H& k* k& H# B8 ?$ d! w
, Y: u5 a4 y2 a3 E2 a* q/ f! k
sum dx240
; J) ^& |( y4 q6 t o
. U$ [. W y8 z& G local tempminp=r(min)% s8 _% z% r5 T
restore " f$ I6 R$ T6 ]
}
6 p7 Z& J( S) q/ R
+ u9 L* c0 ]7 `. m8 W, }2 v7 L% b4 l3 _
" d# o( W3 ?7 ^; t
gen minp=`tempminp' in 11 s* ]+ x o2 X
*240 minp
4 V" n6 D9 ]' d% D- D X: {2 c' M& }% i2 U7 { A
9 Q7 K8 I' c& B" p; [! G* u5 @ , q" l9 p: U, Q. t. }) T. I
preserve " W3 Z& o& o5 [! X3 J" \
4 V$ d; i' i5 Y+ @. s1 u# T
sum v5 [aw =avol]
+ @+ Q E2 Y6 m$ ? ] * \1 ?7 o: h5 w/ d6 L0 D* Q% M
keep if dx240>r(mean)
: i# m4 ]2 ~+ e/ J
6 t$ A1 E5 z' ]1 `. k sum ddy2404 F1 k- L) A1 z T: d
* w) C& l1 O" p3 y3 s, @
if r(max)>0 {
2 Q b7 D2 n& Q- k0 X5 u
H& i8 \8 g8 Y6 R keep if ddy240>=0/ u, w6 Z3 o& E; R# f$ e( R
* ~7 ]% I' G* s
count8 s1 V. \' [- u% m
1 N& D( T. {( \' M6 f3 k if r(N)>2 {
6 U$ t: ^3 g. N9 L. p3 | 9 w: ?$ f1 i+ @/ @: Q+ [6 N. M9 T
pkexamine dx240 dy2409 r6 K: G9 ?9 w5 X
0 Z: d4 C" m5 N3 q* n4 E
local tempmaxp=r(tomc) , p ^# k# w; A7 }9 Y: K/ i* S0 e' l
restore
! ?5 B; C8 Y! p9 g }; l$ x) h+ R! [0 m5 j7 {- z9 t4 H
8 l4 t. ?! D x; G- k , |$ c& k& B# j2 q; D6 g
else {; C' E$ ^ r; I9 m* H2 j3 M' p
restore
' }* q9 i' h7 d8 s6 W: G di "cannot find maxp"! r# M5 }. g9 {* R' Q H
) P! C0 b" u4 m7 s; |& v
0 l* j, v, x& x4 \8 j2 k+ X0 W
sum dx240" ?8 j7 q9 K6 {8 E+ J l% E
local tempmaxp=r(mean)2 q3 d8 l5 Q9 p; J! y9 g' A/ j' E
z& P: f5 }/ Z+ z
}$ m: }3 F& `; C! S( X( u* m. K
+ z9 }5 A4 s" v; m. F2 c }' V% v) r1 U8 s7 |2 v) j/ u, {, ?
% Q3 }* C! U$ }! t% p5 [
else {
' U# u9 {% ]6 f1 K$ p$ o. V
2 n1 D7 a1 g+ F* r3 `) J keep if ddy240>=r(max)/ Y4 T) F, U+ P
2 @% ]0 s4 j' j0 \
sum dx240, e1 C) n+ A3 O: U0 m5 y7 r
* G" ]1 c+ v4 E" [2 r' w ~
local tempmaxp=r(max)
+ n) n% o- T& a+ ` restore
3 P$ J9 Y* O+ s }# |# O) A! ], l/ R; _+ J, ^
* s9 U, H9 H' `* k4 g1 O3 Y, v
! d J& Z" m6 D/ @0 y
# ?* P8 e( A1 `
4 f* I2 S5 M: b gen maxp=`tempmaxp' in 10 V* z5 w, e% h" K3 T _
# z/ j" J+ y% k; z
*240maxp
/ E' E- |5 u& _( g' L
" H; y+ _7 I( }+ X5 ^ 9 f7 A- b$ i$ B4 e4 F$ _
*-------------ddy240pminp左侧高峰值-----1 @- f. W. f( J! x# Y8 W2 l1 a' j. G; G( l
# s9 t/ {- U. T* C. [' T) t7 S preserve 4 P& H. O7 g3 M0 e
; _. W( g& q1 F/ @$ i keep if dx240<`tempminp': t+ Z5 | a4 t/ F7 n
. j1 X" B6 g2 T+ K, S3 ]& ^' ^
keep if ddy240>0
3 X; X T, E* A( c1 @
2 E# \0 _( r7 g8 c count7 |3 Z9 s" d7 Z# D+ V7 B$ x/ i
; A3 L# T+ ^& q g. J5 S if r(N)>2 {# ?5 n/ e: r1 ?: G n! {
* W: `$ B& S T9 n% X# H pkexamine dx240 ddy240) \( U' p" J; D& M5 s/ O- ?; |
, i/ S0 p) Q2 B) D6 | x# U" v
local tempminphddy240=r(tomc)
4 n& M1 F1 E' f: ?5 K% `2 l restore0 s; h0 Y' D0 O; m' l
}3 \ d: H8 p; S/ h* [
$ H2 z! {: V6 L. }" d ]
else {4 R+ o& c. [; t+ X. J
restore
3 c* l6 d9 R r' z7 i% R di "cannot find pminphddy240"
7 U) {8 L/ Y; B6 [6 S" W5 E* b * @2 h( \* n" S% M2 H- ]/ M" k
! ?0 X* e. w! ^: v9 W
sum dx240
, [$ @0 z* M1 H" N' v: [ local tempminphddy240=r(mean)
7 J8 V5 F9 Q o, O
% d2 s; D; X: Q6 ?0 B5 K( t . p0 Q7 K8 x, [1 g& ]" u+ p
}) {$ E6 M2 g% \2 W/ a6 A* P5 l0 w
9 r6 P' D5 s/ {6 k
( X* R! F1 Z+ T& p
; d1 ^% N3 A! M. [( m* E
- |+ t3 A' v. c" z
& n/ T P2 t+ g% p9 Z: a0 X
9 K) I2 B% v. N. @1 \7 V gen pminphddy240=`tempminphddy240' in 11 p* \) g5 q L& R6 Q* O+ S
7 d( J3 r* D7 m$ N
. U0 S5 x7 u$ }% T k# p8 K
*-------------ddy240pminp右侧低峰值 -----------------
/ Q! a* r* I$ }/ V preserve
4 z0 V& L. ~! F ]; _" q ; D0 {8 n, E3 H& h
keep if dx240>`tempminp'
9 Z( F- m; u3 e- O2 p" D ' i' A7 Q4 j, V x9 c7 |+ J* @3 V$ O
keep if dx240<`tempmaxp'
3 p) P, d7 F0 s" C u0 E 1 R7 `4 v T7 l8 V N: P1 L3 {
keep if ddy240<0
& A3 }3 f) K4 e) F% U& H + s: ]- I v E2 e1 v9 k
gen temddy240=-ddy240
( j* J0 W( Q6 Y3 a : r' j4 @6 f/ Y. N5 }/ k
count( o7 F) [. r3 H4 P# j
b1 j1 G" G8 a if r(N)>2 {
. @! t+ a2 j6 d# D Z: ^ 0 T1 X3 r Y. C) O/ N o3 _# g
pkexamine dx240 temddy240
% I6 `! N! o( [' {, f9 d
& X( i* l3 ^$ ?8 ]& I( y local tempminplddy240=r(tomc)
% y: s0 d; v9 l8 C* x6 r, V9 U: l restore) B3 E2 X+ p$ e2 `6 @& d
}) h3 M* j: ]1 b% `2 Q( M
1 v# Q" h: C' k1 [ else {7 ?! c, F C$ a7 _
8 `+ T: `# M H0 z di "cannot find pminplddy240"9 c+ I' Q5 j4 D; d0 |7 K
restore d2 h; z$ \# M M- V$ U
; b( M m2 ?- h O2 m$ W sum dx240, I' z7 F( I) @
local tempminplddy240=r(mean)- k/ ~ E. i" w8 ?9 T
- R. k3 q( I( O! F% K' B
# d. j0 Q$ Q% f
}
7 R$ W! f! t9 D" ` 4 o# e- ~# X. y# B5 M% j9 J8 t
. ^( k0 Z. {" F+ J3 K, Q; v
7 \: f4 y8 y$ b7 f' z
% U+ q/ {$ R: u/ p( u- ?5 m, x) a ) A2 }* \, e. \* d ?. R2 @. c9 l% z; o. Q$ C
gen pminplddy240=`tempminplddy240' in 1
* `; B I7 C! I1 F
M$ Z) b/ J" [9 F *-------------ddy240pmaxp左侧高峰值 -------------------
& f. d o( e% c2 ^ 6 m2 w/ a3 R% m$ ^8 ^) U
preserve
4 l% Q) S/ V% P* H
5 S1 E0 y* i) ?" V! z keep if dx240>`tempminp'
, X8 f6 Y( u1 c% W1 K
1 y, s! M; g6 `9 L3 Z keep if dx240<`tempmaxp'
5 }! v: Y& E8 b8 m: L* b8 i. }
0 |/ d" k8 G; R- T keep if ddy240>00 v0 E/ \9 @. r G5 U% l' T/ r
count5 }& ^9 l& g1 u* V0 {) F$ W8 j# w
: s ^( C- x$ h' s& N4 _ if r(N)>2 {& v% B3 w4 {6 t
8 [3 c5 K- i9 f1 R' }% |. \( V
pkexamine dx240 ddy240. Q* A# G7 d) I c5 h% u
# N- [; x) V# Q* H2 k2 O
local tempmaxphddy240=r(tomc)
6 d; U( B; {. V
- B( ^* b5 U5 V4 Q' D: O& t: {# Y. r restore
! i+ T0 U7 ~+ ` }) X# q$ n) Y8 S; `+ y
- I: Y0 G1 L1 M6 \& J2 B/ ]* e else {
) c$ V, U: C8 T' U/ A& d ! P) D: @3 K2 z
di "cannot find pmaxphddy240"
; e- ]& F$ d( m( P restore* }: d- j2 B* ^* w
5 `' `; ?7 n" x! N1 H0 S+ F5 h2 l C
sum dx240
1 G( v9 x9 N3 s2 O3 V) ~ local tempmaxphddy240=r(mean)
8 Z; ?" C% j7 H3 o" t$ q) g # X4 Y! V/ @5 a1 P/ \7 L
$ x6 F; @9 y8 X% {1 z1 q# l
}
2 l7 U0 h; U+ c) W4 U b- e; D $ U' g1 w5 {) _; S |
$ c; p$ |) F& z; b! G" S! M
+ ?, M6 U% i! U5 Q ; J* @) R; O% E- k0 O0 ~1 j
+ U: d2 d/ p* Z& |* a* ^) _- p
, Z2 J$ I9 _! ]7 q
gen pmaxphddy240=`tempmaxphddy240' in 1
5 H; o- |7 c7 M3 s
, B2 O8 E& ^2 i; B/ `$ J F : n- Y$ L' e! E4 ~
*-------------ddy240pmaxp右侧低峰值 -------------------0 x+ J( G& T# t/ {' W. x
5 c, Q& V& R; n* u4 q
preserve
+ K0 u. L% Y }; K$ C# V8 o q ' j9 [. q$ |$ M1 L9 c/ A6 x! p6 y" j
keep if dx240>`tempmaxp'8 P. C+ u6 v2 k1 r$ w8 f
& B6 j0 V/ L: b* a+ x
gen temddy240=-ddy240
3 F% y7 Z1 Y7 t
9 n9 R# u6 |/ d1 `+ b# J2 m6 e5 { keep if temddy240>0
! P0 _) l, g9 }; O+ y
* Q1 t; @8 ^1 s& H3 A% N count
$ I( h5 }3 B4 S) e9 k
, q* i# a- n+ X if r(N)>2 {
. K7 [ f' b; A) h
8 O( N/ _* t$ R" h' l+ A pkexamine dx240 temddy240' L; i9 g% A* W9 J# h. K( X
; h5 ?0 J0 O. T8 ` local tempmaxplddy240=r(tomc) ! d5 N) s2 j" m2 P
restore
5 ?6 t9 y/ M% O- L ~ }
- @1 Q/ {+ ^' a- ]0 h* @) a2 U . Y0 F O; U$ F; \/ H
else {
7 T! l1 v$ C" C. t- O6 C0 z5 } restore6 f. h+ q) @6 R" w' X; d
di "cannot find pmaxlhddy240"4 e8 [7 ]8 G: p( n9 e3 u T, Q
" r E% z" h. l+ Y
8 F& k5 h( k0 b5 i: ~8 V sum dx240
3 I# Q: m. e# `+ ]/ E local tempmaxplddy240=r(mean) in 1
- ]) D& K" ]. t9 K3 d
6 l( a) [ ?$ h% w: A
& R; t$ E2 w0 X# d }
) q8 f5 S3 t7 [8 y( ? i3 r
% N2 c+ H# d1 M. I
$ C) V$ g- {1 K3 ?7 m 6 y, E' l. }4 G# W' m
, U) o& r: {' \" }
2 H4 C5 B' O! [ & [; D" b' ~; S7 P' S; Y
gen pmaxplddy240=`tempmaxphddy240' in 1( Y. M. e* S! `2 ~' ]( [
& d- I/ E6 w, n8 A3 z# W
*-------------------------------------1 V3 J8 T: U! {; ]9 k
6 }% m& J0 ]3 Y3 {0 ]+ F
gen price5d=v5 in 1/20: a5 z% `: P4 A! d" Y* P
! |. B6 k2 s& d# [# P/ R
gen price5yy=_n in 1/20
0 }0 B) q# ^: z5 x 0 H- Q( ?8 ^# d1 [/ M& Q: m4 N
gen price5y=price5yy*(dy240max-dy240min)/20
' o; \9 e/ F3 F6 T% i" F; G. r
4 U+ ?$ Y" K( v0 { *price5y &price5d B- h- ` `+ R, w# G
- Y4 _. K) ^7 |; @, x! F4 `' B gen priceny=price5y in 1
. g3 M1 {5 X9 n* S7 I' a4 U 9 U) l: D/ M4 G
gen pricen=v5 in 15 L& `+ I& h7 @
- o, ^0 p! V& X5 F + E. y N1 n5 P6 P J- a
*priceny &pricen9 [& B, v5 j* S9 q8 C; l/ d
( g3 k9 C$ T! g! t) Z _% M: W- M8 ` 2 h0 |; u7 {' p; j) l/ u; i) `
*-------------------------graph------------------- X- u7 J8 e1 R9 n! n
9 L. ?0 e/ r$ c* m( Q 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)
* w+ h4 ~) k: g9 J+ ]$ t
2 c6 @: v! F/ F M* ---------可选项目----------------------* o5 M; A- L8 e5 O' d( I4 w3 V
*(spike yxis amean,lc(blue))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean))
P1 R9 |" m# L+ t9 j Y}7 B! f% D* U8 q: |
end
: `- J" Y' r9 C" X+ @/ C( u- Q9 w |
|