|
|
maodeng 发表于 2013-1-28 13:13 , A2 s9 B! H l m: ^: v
. hello 300236
: m' z9 t6 _3 U) R$ tstatement out of context
- K# r |/ H7 r2 _. `5 d% Z+ ?r(119);
, a5 E5 ^) {. O抱歉,最近太忙了2 \, w8 |- n6 J& L3 o
; d/ y" _4 b) W7 T+ c) _
300236 我用下面的程序试过,没问题
* G6 ?+ l& ^ ~. D' w; c9 T
1 ^! g3 N5 }* B0 a" P* l2 ~- l+ N你把 D:\stock\test\source 改成你导出的数据存放的目录,再试一试# W2 G V& a$ u
$ s% P0 G, [' J* I, a6 Kcapture program drop hello
$ W U1 ~, |& m0 O* P$ I& p/ ~# N2 C, z- `; I" g9 l1 N5 K2 R! a
program hello# h3 ]7 @8 F7 u+ C, A7 \% l- J
: X" s% X' V; X, d quietly {
$ n+ d5 f7 k; J3 j( S5 N5 E9 l* l5 U1 z% C y* l K! T/ J
clear
3 @: M% d; k# F0 E" I% T* c
5 l% k9 K2 L( I% _cd D:\stock\test\source
) c0 d$ V1 L- J0 i6 y" j5 n; E+ u3 X" W1 h; A& y; k U- u# U
insheet using `1'.txt
2 i( G( C8 c0 J0 f4 o: ]$ O: o+ {9 p4 L
keep if v5>0
2 Z9 C3 x, Q# V* p4 v 2 [& I2 J+ R6 s7 N1 r
gen vt=_n
3 Q# Z% u: P& b; B9 t * d5 K' b+ h, f) m z- z6 Q$ x+ a9 q
tsset vt/ u! {9 h+ N" u0 X% I
2 k$ i& g! b$ m gen zf=D1.v5 V3 z- o8 m# R0 w
+ I0 x0 e' m3 j% d+ ~' @$ U
gsort -v1
& h0 a& ]5 O" O% i6 R4 L' v% j
! y/ Y, M1 T) j+ d- w6 M2 |# ?" S gen avol=v7/v51 _ {* e P/ [: J; z
4 o |! W, g" A; E keep if avol>0
% M Q, G) f; x2 J7 g( }, ]* P( D5 ] 3 B) o5 k7 Q: p5 ? I) f1 G8 o
drop vt
" j1 s1 T, l# C5 S 3 C6 u: S1 j5 C0 e3 c
gen vt=_n# D+ n: J1 F9 Y6 H" p% U n
+ e; A4 ?9 d8 L8 h3 |) r4 X tsset vt: Y2 j3 Q) T6 L' \% j5 |
( N R9 O2 s1 g. E; a5 t/ e sum v5 [aw =avol]
: A" a# Y: U: j; ^7 x: M% p# i" ]! _6 w" Q
gen amean=r(mean) in 1- F* ~0 v8 |% |5 ?+ M6 V; u
! s/ y4 Y) g& w, V7 W- V * 总加权平均值 amean
1 r. ^+ t* L; q. C ^3 y2 }( K
$ I, J5 O" ?: m7 y1 I! z: J% E , i* Z# q: S9 I; i& w, v* w1 N
keep in 1/240
# g$ S: z% U: \- O0 f' S* O8 V! `/ L3 G, X3 W( Y0 w9 w
sum v5 [aw =avol]
/ W. x+ |& |2 A' ?3 z
: z# Y& s3 S' n- ~ gen mean240=r(mean) in 1
{5 C" e' _+ s6 i" q$ J8 U, i; `* u , F1 n2 k% U* H
*240加权平均值 mean2403 H4 V3 x# Y$ c
" }. w" J- L4 ^5 n, l: @! `' k9 C) z set obs 500
$ z* t7 S. I* s6 g6 r1 b" j- L
q: `7 |6 c5 W) {8 M1 V kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph
8 ` t9 f( A# B: M4 X! K: D ) e# h8 `8 g) w. b+ \4 E
*240 kdensity(dx240 dy240)
4 S# {$ ]6 u1 }6 y
5 P! c' P% F, J( y P$ g. Q% V: ~ sum dy2402 Y: k9 ^6 z6 l( }
; M& \. K* E! X/ _% f; n gen yxis=r(max) in 1
$ ?7 y4 Q! x+ A$ J
0 i1 Q! a- D5 j# |7 h' U gen yxis2=yxis/2
( N) P" f; I Y% _. d 7 K1 e0 Z5 S6 L$ b! |1 O, i/ d& ]
*yxis
" f- b) \4 z5 U9 X4 u( }/ a
& u3 f6 n, b0 b& T# T# w q gen dy240max=r(max)
& _2 `) a$ N0 C3 f& y4 @8 {
5 o _" T$ z& w$ b# M gen dy240minp=r(min)5 E/ w2 u8 J6 W- D6 m7 m4 h- ^
# r, f, M6 h* X4 }. p" R7 D7 a8 Q3 v
gen vtt=_n
3 H- B: x8 B! W* m
# ?, U* ]" X9 Y8 ?! O, a. K' h) N/ u tsset vtt) E( W; S3 r) ~$ `$ p& P) Z) T
" M7 K6 r3 J6 J7 C9 P8 {
gen ddy240=D1.dy240/D1.dx240
" \. U0 C0 j. j4 V. d# u. J w; [ 7 d( R Y* O, Q' y( E; r
sum ddy240- `7 T9 u' `( z$ ?( z
% A" J6 ^" }$ p2 f3 H
gen ddy240max=r(max)$ F7 Z1 E8 F: X! {* g6 M2 P
0 N$ _2 C& _/ _
gen ddy240min=r(min); L- ^( z. L0 o
5 \( k7 u" j) j# b3 m4 u) j' o gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)
+ X7 x$ d% e, J & T( b& `" i4 B: X. ~
sum ddy240g. g2 v0 D6 ]+ C
! n4 N0 W5 _* {0 Z( N
gen yxis3=r(min) in 1* g3 i+ p7 t, b: d0 J6 C: v; c+ Q
$ w1 t% K& u' f2 L, {' U2 y gen yxis4=0 in 1
) D: `' Y5 W9 h& s; B
8 X& M) D, O [: _& K! @ *ddy240g
- B8 H0 ~7 W* Q1 X+ C
5 P, W, z. @# I3 t/ h & C3 u+ n- g ~" `/ b* d
preserve - i% \$ s* p9 p9 l
* W' g! g! L" F$ f: L+ x& \/ X" L sum v5 [aw =avol]
; ~+ H. t# H- g2 _* N: o
$ L9 f$ p6 [+ r# v keep if dx240<r(mean)% v' {" x5 X! f4 N% C& _
+ B# R% n" }2 h9 l2 r# |8 m
sum ddy240
* g% j) `& c. `: O5 O4 V2 l( S % d9 l# P7 S7 B
if r(min)<0 {
& W) ], E& A; h' q- G7 y: |) D+ S 3 O2 u1 h4 d* F3 M
keep if ddy240<=0* n. f8 w7 ]# Q2 f# k* H+ g
% b7 i6 K! S4 J2 ~ count# q. |; x1 x- L. j; I7 I9 U6 H
+ t8 S4 P7 |( }# Q if r(N)>2 {
6 [- G7 U1 q! H% U" A8 @- L; ? ) _8 S U3 U5 N; N. D S1 E, r! e- Y
pkexamine dx240 dy2407 d. g' p t+ y' J) ]8 n
: @$ _7 O. d, U* n, s% S5 N, ~
local tempminp=r(tomc)
7 f6 b/ }. w+ q restore 2 n6 m/ x& z$ I; ]1 i0 V
}
# c, t4 G* u! A( D( I
1 P# ?2 n. _: W4 J7 T else {
- ^* p2 ]+ _) G( i5 L4 n5 v
1 H. n, s! l8 [( n( W di "cannot find minp"/ \# o9 ~0 G6 E- l% }3 W" S
" ]4 F. G6 C. c, v! l
restore
2 d3 [6 D/ S# `$ [: p sum dx240
( U6 k. c- ^+ | local tempminp=r(mean)
* G* _1 ^% ~& n) u+ y % R) t( A- \; F+ P0 x$ q* [
}
, X3 c' T5 K3 A- {, A6 o }
- k e( p0 w3 y& ~' ~+ w else {& l$ J# p7 c$ R" k
! a: ^; p: K2 g/ [7 d keep if ddy240<=r(min)
1 x5 B+ M- r- i1 p3 a. o z * X9 k4 W( n+ T6 v/ i$ D# K& ]2 k
sum dx240
5 y0 S& Z% H" ]* d' w: G' V* k % x/ f- m0 M8 G9 W2 p* p
local tempminp=r(min)2 E q; L6 x# Y6 ^
restore + r; \" S; l0 D( z+ ]$ j9 V
}' U- [+ l/ C6 E7 F8 p
, G* j1 n6 c6 b# @% f2 e
' n- n! ]1 X$ v$ H+ \ t$ i" `
1 T9 c+ e2 ^# _/ ]0 Y7 l gen minp=`tempminp' in 1" j% C3 X' r( P: K- o
*240 minp$ }8 k; N0 c, P, V8 p
# T0 K# H5 F. x. W1 ^
# L. b, P% W- R
: \/ g$ ]/ w0 E! \9 p
preserve
8 A1 q' U' n. R- r9 c0 }& ?( }
! a) ?9 @ {/ Q3 T, _ sum v5 [aw =avol]5 h" } c1 Y2 A# Z3 h
$ c% |- x7 e: B, ~5 [, M0 V keep if dx240>r(mean)
: |) q! W: C: |/ m) v p ! q% K, z1 o# k' [, v% L8 U* h
sum ddy240- F) X1 [4 q/ z9 k5 S2 \$ L& V
4 h1 k/ u0 A n* Y, V. H
if r(max)>0 {
* w: ~+ {( C& ]* w1 e( @; y
# s: m+ t' ]* c. q& {2 |5 M# d keep if ddy240>=0
0 v/ O- h W* z; f( Q' \7 V
; }. X+ L7 y+ M% n) ^: ] count
& f. Q0 j& \, f2 ]1 c6 _6 ?! P s" h ! I, l$ n1 j7 T, _2 c4 h3 z
if r(N)>2 {& A! T: h* z8 a$ P I
3 c$ A5 }6 t: t" \7 N/ I, Z4 \+ Z/ J pkexamine dx240 dy240" V; v% V0 R& i$ `' i
+ P. E. ~; t9 t/ J+ m2 G local tempmaxp=r(tomc)
* A+ W& V$ h7 w4 Q1 W, t- ^ restore
, r" ^: D8 ^* L2 E5 u }
# @. ?* _9 a. e6 X7 {
7 k: p8 N% o$ `$ y / R$ L. `0 X% @# O/ u
else {) r @/ G- h$ r( z1 u
restore , x3 P4 r6 k: y3 G. A
di "cannot find maxp"8 V' S0 E2 U! {3 c/ h/ R% I
1 \- _- N$ y0 u S. V4 \
2 T$ m. }0 F. O# E sum dx240! w: c( R/ I# p! r; h
local tempmaxp=r(mean). c1 M4 `/ w. p
7 R' r; n" l* d/ d, j
}
7 V, f* a% P1 a S * T& g: U. \+ V( m! O+ r2 W8 U
}
) X- ~" `1 k5 I) m$ C
- e, f+ g& _% X/ X+ V% f, D+ N1 A, Q else {3 R' q2 y/ i; w3 Q% [# \
+ g' D! X% b& C' z: F- D) ~# a
keep if ddy240>=r(max)
. U. X, N- Y7 t( [" c$ g( Q/ k : t3 g* u {( y6 i
sum dx240" x( G2 v, ?) Y+ G
1 [5 ~$ E% a. G A
local tempmaxp=r(max) + u) y% t9 M& i+ P
restore
, X4 z6 ?5 g. s+ J6 k8 N# n5 A4 {0 R }
5 q0 J! L* R" d 8 |* i4 o/ D. l" u, `+ d" `, E
' o% f! G# m( H/ x1 d" s5 m . \9 w5 M: w* @9 K# H/ x6 q8 H
8 k% z8 t2 d$ L( E$ P
gen maxp=`tempmaxp' in 1
, M5 C+ Z. `" C- b
# r# E, l2 O. V4 E5 I *240maxp
* q s& _9 u, ]
9 o% }3 ]6 d6 M8 ` s$ y. w8 c7 ]
1 z3 ] P) g% K4 B" P6 z *-------------ddy240pminp左侧高峰值-----0 j/ q: ^( f2 V! m) C6 S& u' [
9 x8 {+ p3 V L: P& t6 y7 {
preserve
. q+ Q$ C$ W& b4 R / S8 ?/ g6 C }" T
keep if dx240<`tempminp': F' @ _1 @6 B
' U7 A* U% {4 T5 S, L. Y keep if ddy240>0& b$ ?5 F7 ?$ R# l( o3 W l @, I
7 R( P: ?/ P! O9 w* x; h! M
count
+ ~/ M- }% F1 U; M: @; v: J3 g, e
# }% d% w7 e( C5 U8 C if r(N)>2 {
" y h9 ]% f/ h5 P. b) i
! l$ C q8 n6 \0 G! E- i pkexamine dx240 ddy240$ y6 D8 q; p6 N
& \' J# @& ~+ @1 E+ ^ local tempminphddy240=r(tomc)
; R2 S1 N! s. x restore
2 G( q k2 @, D2 { }$ I; [2 t0 i/ |
% V/ r! l, ]) f. L/ ~+ H- L9 x else {) y5 X6 e& D$ X9 A. [
restore
7 t3 f8 _2 x, p! j5 X9 W! i! S di "cannot find pminphddy240"
5 u0 C9 e( n( v! f : j. s2 B. V1 k o
) W4 N3 }) ~9 D2 N) b sum dx240! V3 R' w( X1 E+ q2 n. x. l# E6 u
local tempminphddy240=r(mean)
! J2 v" v5 I& N9 h0 q$ ]
/ q9 F b% A r& e# z6 l8 c6 p
8 E& L+ _- V0 K }
, f/ D% d' i, P. X/ O7 ^. T' E5 I' f( ~
, c: {* A# r/ F/ U
9 c1 O- _% k D
# x2 L5 e, s0 S# @ $ \- m$ I6 o, u6 v3 k
( G( f/ t# i7 {) b' p/ z/ ?
7 x; ], |$ {1 |# a
gen pminphddy240=`tempminphddy240' in 1) H1 f+ w; O( W% x- p: v
! |. S# f! C% v0 E( l) w# u
' y0 A' B1 @! D! Q* J
*-------------ddy240pminp右侧低峰值 -----------------7 i( M% }. W6 R- [- H* R& b
preserve + R# n! [" g$ |3 E, e8 \+ x2 ^
7 C# w. ]3 F* ~ keep if dx240>`tempminp'
5 N0 p, o) h2 }3 C y2 U% V) M
/ v: Q3 r# b. @ keep if dx240<`tempmaxp'1 r. x+ S; N3 X/ o( E
( U( E" i8 [! B
keep if ddy240<0
7 M2 } x6 \# R) J
' h; c2 y1 k# I! L3 _ gen temddy240=-ddy240
! k3 e9 L3 a: B* Z % w0 [ X- M9 u6 t1 Q0 q9 ]# G
count
- u8 g- r' H& Q 8 I: p j% i- |
if r(N)>2 {) ] V) s8 c" {$ K4 l. g; @0 v
$ E# @9 w' D2 R: w
pkexamine dx240 temddy240& M, ~3 V9 Q' t% g) `* O8 `
) F) B9 \9 K7 g% e+ e. N local tempminplddy240=r(tomc)
( _/ ]! j5 r/ f. K' h& I restore
/ `+ z: q. h" s; h8 p4 \ }
9 r! U. Z, |$ U0 w
- v' q) l) O$ [ else {- R8 W# p D, h9 ~
* V' i! x4 ~) G4 I* n! _ di "cannot find pminplddy240"" G7 ^; Z( w6 ^7 [0 \
restore" M0 |4 Q/ ?7 v2 x
6 ?* F) |8 n; r# B& a sum dx240
. a$ u' e: Z1 {' _ g v$ M2 h local tempminplddy240=r(mean)
/ s8 O8 w( ~( Z p1 U8 d1 h% W
* H4 Q7 ^2 Q/ L# b
6 n8 `" U- r A$ _& |! X* ~0 R }
, B# V' ~+ B/ A: c6 n! m ' ]' O' D6 n* Y& o
7 o- H9 C e3 \9 S0 V' |
7 c( O" H4 A/ C- v) h
( ]4 ]$ v E) j: r+ `
$ ]& Q0 _3 T8 Q2 R1 _* R" ~ gen pminplddy240=`tempminplddy240' in 1' T) u+ t3 y3 @# ]" {. \8 w) G' D
8 y N) w. i. D) M" X# _+ y *-------------ddy240pmaxp左侧高峰值 -------------------" h* x- M6 j: m" D9 u( V
6 S$ B4 l8 K# O6 O: _: `" z+ j/ F7 ?
preserve ( J, ?5 K+ s# m# B/ W! t# {, H
/ M `; M* V- G
keep if dx240>`tempminp'+ x3 l8 U5 b I
% l8 n, o _/ r B- r+ o
keep if dx240<`tempmaxp', l- x, X( h9 x$ G
" n" K4 N `+ m; k* { keep if ddy240>0
+ J, G9 Q+ a. z& [( \& q count
; z, K) a7 C# ^4 L @$ T; P & C! }2 n+ @4 I/ d/ S/ |$ L
if r(N)>2 {# H0 H! S; {& t, ^9 ?" x4 n
" F# m' W$ [, g0 \, i0 q( k! n4 Q. I6 k
pkexamine dx240 ddy240* t% Q' m* G, B& x4 w7 Y' o
0 `" X, O9 y* [ local tempmaxphddy240=r(tomc)
, p% i. Z" W- u8 z! t+ H
5 b& i& p' y4 n; L3 p restore
0 g: N* Y# x3 q+ ?0 M1 R* N }) C! L: V$ ~+ Z( T9 U* D
, a( d9 Y- e2 b% E. a8 R
else {; Q, k |9 v* F# r$ c, [6 G) {
! Q. Z5 N7 `5 n" T# \9 H# ]+ k di "cannot find pmaxphddy240"
4 R0 B8 U* @& s6 ]( |9 b restore, ]) T- k. b7 P* ]4 Y6 K! K
) {: @+ V7 H: l8 h8 U; `
sum dx2408 T) ^8 |; P1 l( Q
local tempmaxphddy240=r(mean) 1 x' [6 E8 p6 X+ d& G
]! ]$ I; Z% A- u 9 S/ @5 |* E, X; c
}
# G& v2 ~8 t! T) N, l/ o6 W
, N, z3 ]" o7 l4 j
8 r, x1 x9 v2 ]8 K 9 c0 V# H8 F/ w. m9 Z5 e6 s0 x
$ p& ?) f/ J) N7 E, ^. G8 w
$ Y1 M3 o! |+ Y7 O 4 N* J$ j! z# p ~$ J6 s8 m
gen pmaxphddy240=`tempmaxphddy240' in 1* Y1 I) B) \+ G2 k$ ]
' E7 W7 K+ N' g$ U0 e2 H& u- [' w# i$ `
$ ]5 e. l! F& [' P *-------------ddy240pmaxp右侧低峰值 -------------------# q3 G, t0 A$ a
! ?$ N9 L0 i2 L1 L! K" e
preserve
T1 s, `) x6 ^5 I $ i: {9 A" `, Q% @* o3 H8 A
keep if dx240>`tempmaxp'& h) ?9 |- f# N$ N8 v
' T2 h) g& `# i# l/ P gen temddy240=-ddy240
- [5 g' R' }2 z6 @ x+ A
# U0 s! O( @% o6 p, G& I( H0 O# p keep if temddy240>0: h* C" }$ P, E. X! [. X7 I
: q% n: `- z6 B. H count
' o" u4 c6 w% K2 S: `9 B( \
+ B1 \' x4 _0 I3 z' S if r(N)>2 {
; `8 S R7 C' y. u% ~ . u" ]5 k7 U. z# X" H8 I( y
pkexamine dx240 temddy2403 t9 N! C+ k! |6 _) _0 k7 q( f
) e4 x! p% `7 x9 n, D* h local tempmaxplddy240=r(tomc)
( l/ U0 g6 i7 W- d) J1 e, I restore6 X' B# Q. s" T1 |% S
}, C' l0 m) H' {) K" v1 e- L
7 r" r) |+ [6 ?0 Y8 h# \- p' I else {/ ~% q/ \' \/ X) g" b1 q
restore
) W; E" y1 e9 @. [ di "cannot find pmaxlhddy240"# x0 A/ \" _! Q8 Z
5 x2 q* O6 F6 l k) a# b P
) _* o( R" ]' M* V6 ^2 T( X
sum dx240
$ h! }" D! n; f local tempmaxplddy240=r(mean) in 1
: b4 Y# Y4 }. ~5 |! t3 Z 1 J' c0 Q! ]6 t% D9 U
: Y5 U/ E' Q' H3 e5 ~ }, r! F, U( e; N) Z
' g* n* Q3 u3 o L' x4 K: u
$ X. t% ]9 w+ j& Q, }, C8 c " A" q0 k! T, }. ?4 K9 M1 Q
9 W: n9 y4 Y0 m9 |7 {" ]' N
' f7 _6 k/ {! d( v
# K: u7 j- x8 Q. q. ~# r gen pmaxplddy240=`tempmaxphddy240' in 1" n+ k+ k8 J. W, I" x" [5 n
5 P" C z ?) O3 h( z# b0 K/ ^ *-------------------------------------0 S9 D3 a- d, V0 j
{+ o2 Y v9 j. ]0 g
gen price5d=v5 in 1/20
% R; L4 Q* y. j1 } ~$ q8 H& [9 ?! i6 }$ x) E+ t
gen price5yy=_n in 1/203 A. a; w5 o; t2 d9 ~/ c0 q
. J) a) ]+ e# w) q- H3 ~3 t3 k gen price5y=price5yy*(dy240max-dy240min)/209 g0 z3 G2 i- A# }5 r1 A& ` q& T
. l( e9 Y5 h. F
*price5y &price5d
: g8 g8 u7 x! N! v
3 K, O& X5 b: u! v gen priceny=price5y in 1
5 v+ U& u- f" M: R# v5 R, J
2 G9 Z' T, g. _6 a6 V9 x gen pricen=v5 in 1
" e' L# j& s5 H J0 U: w) O8 D6 S' H0 S- K. k; R$ d2 r
2 C* R- l8 G# y- I *priceny &pricen
" a5 K* Q3 s, I) g3 U- b6 R
* f O$ i8 ?0 H2 o
6 h' e$ o- |& z- o *-------------------------graph------------------ L% }2 {5 E I* s; B
0 ^0 y0 c. e2 `
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)
* s- e% z5 ], i; p0 @6 ?/ e- J: b" W( P9 T4 W
* ---------可选项目----------------------& p' h( F( m- j9 J- W' H3 G
*(spike yxis amean,lc(blue))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean))" u. C$ e) T- \* L: ~( y# c+ j
}
8 N: V A5 _" A% l, d2 Send* D+ U7 `, f" T- c8 l ?
|
|