|
maodeng 发表于 2013-1-28 13:13 ![]()
- ]5 ^" F/ o$ z( M0 r. hello 300236
+ w1 D" W5 o& j: U! pstatement out of context' E6 H& S( @2 j; K! a+ O
r(119); 7 U) Q. s. f: V4 |% T
抱歉,最近太忙了' q6 E' Z' Z3 N* e
! w" d- M( a4 }+ \/ R
300236 我用下面的程序试过,没问题
; X; _2 U0 J/ ^
, Y: @! V3 Z4 D2 l( T& f1 ^8 U; Q# K你把 D:\stock\test\source 改成你导出的数据存放的目录,再试一试* z2 b8 [( v2 |: Z% W+ V' H) N
) d1 c+ e! J7 ]. J& K7 `$ ycapture program drop hello
3 u. u$ ~2 n8 h, L" z" X$ P1 R1 |
- {! i1 O# _6 v, Q' Uprogram hello; B. C6 ~# z3 Q( N
% i3 r0 z! h5 h4 K4 V1 T quietly {1 k5 ?+ a/ j# O4 D' \, {
$ q0 ]5 }# l) W Xclear
9 T1 ^/ a8 O1 e: n) l& A4 i! m3 E5 u1 g7 L- j
cd D:\stock\test\source
2 p6 Z- E1 k) c0 a- c- U
. V$ t$ B3 g6 S i/ |; jinsheet using `1'.txt
' B! \& S$ Z8 f& V6 w. k, g4 z
+ k0 @( j, o( n keep if v5>0
) a! K4 k Q8 a( D* F* T
+ e3 G2 y2 f/ w( G. n gen vt=_n
" g+ P5 P! S- U z
8 q" M7 |1 m& j b3 }5 u4 j tsset vt
* K* G/ O' I7 \, ^) a2 }* ?- x7 f! T
gen zf=D1.v5
- O' x8 u* D m. m: K; i0 L; i3 t% v
gsort -v1
3 N1 p# G$ Q* B( C C
2 d8 o5 A- M1 C! c$ |1 o, } gen avol=v7/v5
$ O, V1 n2 P: ~' M: {8 H% J : a* j3 h/ u$ _) X0 L! l" B
keep if avol>0' H ~+ m! J/ ~3 D& N! e! y6 S
6 n/ M9 X$ i, ^% H$ w drop vt' o1 h! W1 z4 f; ]8 m
1 W( o9 h8 ~4 ` gen vt=_n
+ o* x4 `: a5 n* B; h( m & |( L/ i1 K0 c. Z2 g" ? ?
tsset vt$ [$ l) H! ]# n! T9 l( m. O
8 U5 h) X4 Y; V& U sum v5 [aw =avol]. u. o' C" D1 k1 [. V% d4 B
1 `. c- g, A3 b% I5 `. s" d. |1 P
gen amean=r(mean) in 1
- x% H3 t2 m8 B, _% D6 [- j" b
7 ^, u" ?1 Q; R6 U7 }* Z1 V * 总加权平均值 amean4 T$ f. N* Y" b3 b
' X5 Q3 Z$ `8 B2 O4 u f* b
5 ^ I) |+ y( Q) V keep in 1/240
9 k {+ }4 }9 E2 N5 b. S0 M! m
$ t z! e+ l5 `! b5 D {# d; c0 t sum v5 [aw =avol]
( }5 N! e. v# ]# b# m9 v( P
- d9 x+ S; \/ }. D gen mean240=r(mean) in 1
6 C- t4 h# k2 X6 B6 ~ 6 C' i! W) h" ~# K% k
*240加权平均值 mean2406 a" e3 g5 U- t* l$ S' \9 d' X+ u
; }% z0 p9 v) C set obs 500 * Q1 V; d* A" ]0 ?. X* P' A
' Q Y7 n, n x* w; n
kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph
4 d; x9 f7 A3 \7 i& O + ?' y9 j9 r. X8 W
*240 kdensity(dx240 dy240)# A; r6 e3 @2 E3 H, C
$ l- P/ w' I l/ t9 q) a3 n sum dy240
- ] P: t$ d% v) w- Y% q( A( ~# o/ F 9 ?8 Z* r5 G2 V
gen yxis=r(max) in 1
% ?4 P5 Y& @9 P$ O( h% L0 u 3 k! d- _$ A2 W8 U6 K- F- r
gen yxis2=yxis/2
; r* c# |7 O6 `, K
7 D" U# ?) E, C+ O F1 B *yxis( T6 N$ y1 x3 C8 e8 _9 W
8 H. b- a* r; O# u
gen dy240max=r(max)
* [' Q. D( S0 Z/ D% g! o
# o6 ~7 [8 g5 Z( x gen dy240minp=r(min)0 i5 n$ t, ~" H) @
% m9 M9 e6 @8 h3 o
gen vtt=_n( q% n2 i. `6 j. Q4 N7 ~
% _& q. w0 `0 B* S4 k" l V
tsset vtt/ ` C* M. c7 N. c
9 u( B2 J. w2 | gen ddy240=D1.dy240/D1.dx240
# n! T. O o* _; G% T
) P' l9 d3 L! ]* x! p sum ddy240
9 ?% G! S& C+ b" h9 d$ m8 I / ^, z$ I8 P9 A; [0 S4 p
gen ddy240max=r(max)6 T- Q0 x9 [. F0 B) e
) K8 Q9 k6 P" k3 V) T7 r/ R5 F( B
gen ddy240min=r(min)( D; Y, ~1 B' s: ~
0 }/ M7 j! A! E6 [& T! p) B: e$ K gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)
, k5 s% @ ^- i4 i5 R0 E8 k: V
2 {/ d1 V/ H K" j% ]! p sum ddy240g1 q7 z$ m' ^$ _& L, `1 q& ~5 v6 p" A2 O
' p. v p& D% S) c
gen yxis3=r(min) in 1
$ u2 d! ~+ X, A- Q" W' _ 5 j9 E' q$ H% e" F6 h
gen yxis4=0 in 1/ |. {- d+ |4 V6 u w1 g, b
4 a. y" q9 f/ |. W! T# |" _$ B *ddy240g - n# Z7 C( c; A% w. G
, w0 d4 ~$ ?/ x7 r' k
- _- O: ?4 o& I# {6 Y% Y# v
preserve 0 p- B, \3 A9 H( P: N9 [6 B/ M8 [" \
. D- Z7 T+ u% N9 [# a( [
sum v5 [aw =avol]4 N) a- V9 F( r$ o7 h# t
' C7 U( x" h; V2 K keep if dx240<r(mean)' \1 c Y4 ~9 \2 U
2 m8 X4 g6 ^$ \- d& d sum ddy240* ]! j+ j- X& W' \# Q7 `' W, m! ?
2 H1 v0 I C, N* ]% F2 G f if r(min)<0 {
0 C# j( v2 G5 V! u" j0 J) a: Q
- q. O4 F, J/ K3 u3 o keep if ddy240<=0: s3 n0 T( V, @1 C% W
* u, s7 Y! |7 p t. L count
/ b! X( ^# f* B7 j
$ A+ j, g: Y! \( a6 ~) ^1 E1 n if r(N)>2 {, W, {6 _% `; S0 _3 [3 l6 @5 P
w5 w& o$ }2 i$ x8 t J
pkexamine dx240 dy240
% ~7 t V8 ?' p, y% x4 M 7 {) }: |7 c4 _8 \
local tempminp=r(tomc)+ S* p" N0 u! r: [& t7 L4 N
restore $ ^2 z( E+ @8 y; D, a( J
}; q5 w) C- U C: w
- j3 ]8 X( r+ X. F
else {# W( l/ r, I7 h" y' P& a4 C; `/ [7 T
1 o. J( W2 B7 m' S di "cannot find minp", @6 @, \' h* x" v! e W
% K/ W4 G$ W. \2 Q' r, m( p
restore
# j- d1 D! Z' ]1 E sum dx240 }* u- t+ t( U1 p( M# x( d1 N
local tempminp=r(mean)! @2 U! M0 f, [" F+ D
* @0 ^, a9 @7 [4 O: E
}
" f3 i% V% q) r) _0 L }1 M: b( |0 w$ c0 p1 s. x8 `1 P9 O# S
else {
5 R$ c) u* |) R+ P) ~+ @ - O& G$ d0 ^: Z1 o
keep if ddy240<=r(min)
) M+ t" ^+ X6 w 0 Z9 O: g& S$ X+ [% {% s& A
sum dx240
$ |3 p+ ?7 x! e( J/ O1 m 2 Y+ ^6 V) Q2 @* r$ M4 [/ ^
local tempminp=r(min)
; N" C) W$ [) D5 M restore
( J/ j+ i! E: d0 Z- a# `5 ] }
: \2 Q- Z' h! c+ E$ ~8 {7 p2 X) |) t/ l0 e. w, G& _
" V7 Y" L# N( R& d3 p- d6 ]$ T3 ]2 m$ R& p& x; V* g1 i) B
gen minp=`tempminp' in 1- t7 _$ M; t* [1 Y- H/ q% m3 u1 k
*240 minp. m/ I( ^/ V" d( A% ~- v
. Y- a+ `+ y3 K! {' i0 v0 O
+ V) j' T; `" Q) n# u $ G. o' `+ P+ f' U j2 S
preserve
5 w `4 k% e/ X( W" I6 H/ p
9 O1 G1 n: H8 z# y sum v5 [aw =avol]* {/ \) b' E, L8 _& V4 s) o
3 [/ P( w7 P" X keep if dx240>r(mean)
, K) X1 Y5 G# D
; `6 v' }# j. t$ C5 l j2 a) S0 n sum ddy240' M. A% e7 `5 k" h2 j
. l+ t1 C; \) b+ o
if r(max)>0 {
5 m2 |' ^0 N( j- O 7 t" g* g8 v5 l! @) J, k2 M
keep if ddy240>=0
' T6 f" X: q( ]- S* u ! i( U( A b. i( s |1 p
count
& v# _3 g1 }6 Q4 {8 W# \, t* g ( B9 l) @) g, h( @% U
if r(N)>2 {4 Z# Q: v3 E4 _% E0 Q6 Z! j
+ \. l) y/ H, V, }2 Y6 [. k% N
pkexamine dx240 dy240: Z* N& C: h2 C; P: P6 x/ q9 c
: {! p! U4 ^$ Z( }; W, k# Q
local tempmaxp=r(tomc) ( h1 O9 s8 m2 {
restore
) E6 A: v' n* o' U. q7 x }
; B, I2 r0 ^! M @; N" r& l - b% Z9 w4 V8 V% r) ]
2 F1 K% ^' p, V3 }( i" r1 a else {! e3 r! r' s9 U5 t Z+ g
restore
4 B1 o$ C8 D4 T4 w; r$ ? di "cannot find maxp"3 u5 P2 f4 f* k7 V! a- A
5 A9 V+ b ^8 ?
$ w$ G7 W# U; \& U
sum dx240
% D: }8 b! q, W, h; n; f. w- W local tempmaxp=r(mean)
5 ]# w- S8 ^9 n. X9 c) U
7 t8 B; K$ Z4 S) |% r" T- `% ~* l }
1 `2 a" e& l7 \ + F' ~/ Y0 {" |8 `' k
}) p2 ]4 l5 D5 q* g( {9 B/ g# d
: H; c v- ]! b2 j7 h else {
2 X W) d% b8 `) C- u1 d 6 N+ l+ e; @( j+ R3 e# j/ q7 V
keep if ddy240>=r(max)
( K$ H5 s8 j2 f: V3 F, ?
$ L) a- Z% g' g9 b sum dx240$ @* B; D+ R$ O$ Y
- v' \. S& i' M0 _+ A" @ local tempmaxp=r(max)
# F6 n: r( @. \8 M$ Y7 L' Z restore 0 G, p4 C1 s& c0 W5 E+ A
}5 P* h2 r8 P5 q1 ]+ M
/ T8 f$ [% B$ u& d+ c# d. K$ E9 u! \" Q
! J6 b0 R. O E" |: [: l" M
8 E3 j/ i N$ [4 @3 D
gen maxp=`tempmaxp' in 1
. F! g# K' h# E% ~* I' C
- r1 q' W$ K, W/ x *240maxp
( U. v5 y" G: P5 V" u6 b
! n6 L! n/ ?/ I9 e- g ; B0 F& |9 Y" e- q8 N6 Y6 y
*-------------ddy240pminp左侧高峰值-----2 I3 y. [5 b- B4 y: y+ {2 V
3 x0 x- ]* T2 ~' y preserve * B; @. z# |& S
4 F+ u8 H. Q% R' m* X/ u8 Z# \/ j keep if dx240<`tempminp'
/ p+ e, k8 L% C3 s! Z; t( S/ c
+ R" ] y% Z/ O, ~ keep if ddy240>0. S9 `' s! \8 u9 v; K
& w6 I. l0 [- p' p1 ^: e+ J; }! c: }1 q
count/ h* w, D& o2 h* z
: s( i; |# r: [& L
if r(N)>2 {
0 k+ F- P w; K! ~6 x3 \) N ) x; U( Z( A: A- w/ C6 r. O
pkexamine dx240 ddy240
7 I! X# Q* g% B, N" {0 i; ? . n. [. p8 v- I% G1 x
local tempminphddy240=r(tomc) 2 i) P0 B; o& Y g, X9 p
restore
; Q" _' A# \) Y }
6 c+ P# L. D- C$ a0 w
% v2 x5 q" ~9 }% f8 b2 z else {
% d, S g$ W, u0 f/ u, `1 J1 H restore & B; S! \" T4 Q8 O. A, y
di "cannot find pminphddy240"
( \( J) ^# T& z3 e% H ) e6 F' Z1 b/ k& `
+ G) }9 Z( r! d" l! d! x6 U sum dx2407 ~, s9 L' \# G* g7 Q t* a
local tempminphddy240=r(mean) ' ?- q* v: s% D
7 @6 K+ ?6 C! _% v5 V; {
3 F, y ?$ n. {( Z; v! a E/ } }' r+ {7 S' x/ q1 F* s5 P1 V
8 \ \! l& k/ u
. `8 {) r- m% I' p! L3 b1 P
3 ?, h4 x5 n$ Z( X2 u
3 Q; {6 H/ a2 m3 j& r0 }+ b 4 y8 ]. x* Q9 t! Y j* |# [
/ v1 |; @2 V4 P E/ R
gen pminphddy240=`tempminphddy240' in 1
g* n% Z. V8 {: |! g1 k5 ?3 `
6 Y7 ?+ M$ `2 t ) O3 [ s( o, I+ v/ `' z0 c) P
*-------------ddy240pminp右侧低峰值 -----------------( P8 h4 _" h& g4 T
preserve - |; P( d) g% U
: n& ]% s' {' Q7 v9 A9 H keep if dx240>`tempminp'
; D2 m2 P+ }6 [1 _ - @/ p7 w: o! V% U, P
keep if dx240<`tempmaxp'
2 I" u0 i8 _8 v& _
( H2 m5 l% Z- t8 b0 U5 O( V I( w keep if ddy240<0
0 \7 P) D2 Q+ A5 y; L3 t: j
3 ]" @* U$ s$ \* J* W* A/ E/ m gen temddy240=-ddy240
( N4 C3 D! q6 @ ' c* H) u/ e( M2 |0 u
count
* ~5 C! k% V# {# f$ k0 E
% e& G- q) W. Z S if r(N)>2 {
# E* E" f5 l7 p" w3 ?0 f9 F+ ^9 F
4 T+ [9 j$ l' G# o3 `' G# p5 c2 ] pkexamine dx240 temddy2403 C, |" f0 {: i7 S6 V9 V$ ]
' B0 j2 W+ T' ^/ n! u
local tempminplddy240=r(tomc)5 r7 U' l% `9 L$ {" d
restore0 K1 M; j' k. }" y' u7 k a; i
}
( n/ i& e$ }1 q, t k 9 I0 ?- ]& }7 @: \: X$ y: ~
else {
( T4 Z3 N. e; A. V/ J4 |% d) F 0 L1 g& B4 ~5 r4 h0 K9 c4 G8 \" B7 [
di "cannot find pminplddy240"/ m! f; |1 O$ A
restore& G; ~3 M1 u. Q8 _
% J9 X8 p1 t% Q R# p+ \/ _
sum dx240
3 R" x- u: N1 L local tempminplddy240=r(mean)
" e8 j% N$ i) E 9 F( g. K5 S' e+ H+ U1 F' N
; {& @8 y9 {* _8 g% k }
5 w) b( o2 X7 ~. X( K/ ]
. V4 ?. X8 m6 ~( p1 x. c, O, O
# X0 x% d7 H: p6 }; t, D ' z+ U% v1 Q; \; d% e
, }) S" `+ Y, \% l& ~
e% l* F" \) t8 s& H gen pminplddy240=`tempminplddy240' in 1' c! T8 ^9 V5 u0 J0 n7 f# X
3 y+ k! `/ p, y; M4 [& h
*-------------ddy240pmaxp左侧高峰值 -------------------
5 m; b* x4 v4 R
! Y9 }1 g y, A% ]& ?. k preserve ( u$ U0 v' D6 L- @! |3 Y. m
, _/ s) |2 B( A/ p$ s: O9 l
keep if dx240>`tempminp'
$ k1 j4 k, y2 ~% T8 f 3 T. ^ e8 f2 R5 P2 U4 W+ f9 |) t
keep if dx240<`tempmaxp'- ?8 `% x: b Q% Z
6 N. ^7 C' u+ O' y' G+ k( q; n
keep if ddy240>0
, X6 X" x/ @6 L8 L% h$ t count. ?& l; G0 A& c4 ]+ D
2 ]' \- W4 T1 i+ U; B2 K if r(N)>2 {! Z- L' c- I, p$ E* j7 y" i5 l
! F+ b& }5 x$ d7 V
pkexamine dx240 ddy240; j1 A- @$ O) S# K( U
: ~% P7 N2 k# J2 [% S# I" F" d) k
local tempmaxphddy240=r(tomc)
0 B/ @$ f& o: {/ k9 M- Q; s8 z2 k : u! o9 |" r4 F- q) h: W+ I
restore
3 D$ C8 ?- ]/ f9 Q% F }
6 k$ n: M9 `: t c( k/ @, O
1 H7 }8 X' w4 F; n, c ^ else {1 N% H0 _, x5 M3 Q
3 H: u* s3 w; ?# `+ i di "cannot find pmaxphddy240"8 Y1 q6 C X5 V
restore4 X# ~) L9 ^& k `( F
9 y' t3 d! l( e% Z! t% @
sum dx240
5 U/ ]' _ w& w( q- M local tempmaxphddy240=r(mean) * V# g8 x Z+ _& c6 d" k
7 w$ |: K; {( ^* y) X' p3 Z+ m+ c+ G
) L$ G# x, u/ r7 B$ x* U }
. o a$ R, p; e6 |4 t
( L8 q/ F# [3 Q 2 I3 ~+ n, t7 B* S: s/ G: a$ K2 s
' R; O) T* p& p0 B( J/ w1 i% e2 c I8 r& Q) {, C
. h% P& p" ~ u. K/ R
; [/ G* X9 j) f9 n1 A gen pmaxphddy240=`tempmaxphddy240' in 1
) i! b' @% s0 F( d8 @5 t0 I- g# h- H 4 T6 M8 A; F+ D$ W' {
3 ^! n3 d; |: c8 H% j
*-------------ddy240pmaxp右侧低峰值 -------------------) a* \3 N' Z! y4 ]
2 P8 ]7 U. K* ~9 P; y& c7 J! m; A: K/ S
preserve % S. C# G0 L3 r5 }4 r7 ^+ m) w
0 b6 B: O1 e2 c f, W
keep if dx240>`tempmaxp'; @( [9 A! X) t
7 C) p J D5 x% M8 ~ gen temddy240=-ddy240
$ S) ?6 e: A( I9 a0 F- _) {" B 4 {7 q& T- A( l7 W: c
keep if temddy240>0
8 ~2 M* o% t0 y& W & t# |( w& `2 Y0 ^& Q" P
count
; @9 Z% S# g1 v) R4 \& \
" Z1 R. G1 {1 e: Y if r(N)>2 {3 h. e- f& Z+ @3 ?" s! e# j
) J3 Q9 }& Y% b/ [+ c3 }# m2 ? pkexamine dx240 temddy240' V2 E, L+ U4 _# S$ X& {9 O/ m* B
( Y; u% Q) S/ Q8 M- e, @
local tempmaxplddy240=r(tomc) - n0 a! t9 Q: u* e2 X$ b
restore
/ m9 k7 M; A( i: Y } t" Y% a; _) b4 V# L
* q% s; {% v! ^& |
else {/ N9 b! m7 f7 X. }
restore8 D7 Q7 h3 g8 u' }
di "cannot find pmaxlhddy240"
- e; z0 [5 W; R* H& ~3 f' O( O6 O
) L2 S# O: s+ {0 K/ ^
0 m5 q6 _7 q# b9 n. w3 v7 m sum dx240+ R7 s! f) C6 y% }$ e7 I
local tempmaxplddy240=r(mean) in 1' Q: @6 J/ K' d- p* I9 ~
6 R: B) a! u% w& q6 i6 ?3 h! m; _ - }' g+ J6 `1 P9 x8 L: \* ]! {3 `
}% @& c+ e% h6 q( }5 U) @! r$ V
: T c$ y4 e, N W
5 R& v4 W: k K9 _7 S( S3 D
8 l: a5 X D8 \ + |: Z) w* D9 l7 b" y4 ]5 o
" g8 O1 \( k( Z& c3 W0 v3 i& H
2 i' E. U2 i2 F8 A
gen pmaxplddy240=`tempmaxphddy240' in 1
% N/ v7 z9 |3 i$ Q# y8 L1 Y+ J
- W& M0 p: r1 ? *-------------------------------------
* D# G1 L5 d$ G* f! n ?$ s1 j8 {' l . F. A' [% D3 ^. Q; m
gen price5d=v5 in 1/20/ Q9 n4 d y) X; N4 M8 F
& ` G& x6 ?) S7 p6 r4 F9 x gen price5yy=_n in 1/201 y$ w/ A/ Z, [" I# z, E- _* b: q/ m
# f; C M+ _! F: m6 r
gen price5y=price5yy*(dy240max-dy240min)/20
8 |5 q8 o( b8 _& ]. H% U. M: l ' [7 k6 o; I+ q6 j# L I
*price5y &price5d4 C/ G6 e- ~9 x- c
: c2 S6 M' W# [! m gen priceny=price5y in 1
u9 B& ^3 f" N! A3 }! v5 A! l1 h' U 1 e2 q9 i: v: G& Y8 f5 M
gen pricen=v5 in 1
. b$ C' E( [' h
$ C7 }' u* u1 E8 t. j
* B- n1 x) f1 ~, s, S N *priceny &pricen; S, e' |" u7 o. `: I4 e5 y
0 Y2 h/ q. \& ]. R W+ N+ z2 q5 ~9 H) \& l- A! O
*-------------------------graph------------------6 v- [) z% b$ t$ h9 {
' _ m F' H6 c) ?$ d' f 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)
1 I- p- w( u3 t
. [; d: m5 T" Y1 V- h s" R* ---------可选项目----------------------
. a# K) D' ?. h" b O, J*(spike yxis amean,lc(blue))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean))" J+ k( @% v0 c1 e
}
" K8 S( k$ @5 a+ R; M5 ?7 Jend. ^% t3 m8 T" ? c
|
|