|
maodeng 发表于 2013-1-28 13:13 ![]()
- ?( B% D7 F5 k& Q, R% |5 }. hello 300236
0 T& o% o( o# M& }8 \) _" D4 j5 nstatement out of context9 p" l* N' T% a8 V
r(119); 4 _' c( U% N$ W3 `5 D+ V$ J
抱歉,最近太忙了
2 c6 x" {( G9 _4 d7 q% g0 h3 E4 R' } K& P. H4 j a% C
300236 我用下面的程序试过,没问题
0 ?' L# c. Q! `+ `: f/ v% G' y2 K$ I" f9 Z
你把 D:\stock\test\source 改成你导出的数据存放的目录,再试一试
0 _6 ^7 U7 E. Y( l6 k$ j% J$ p0 g' Q6 Y8 v2 Y+ A8 s8 o
capture program drop hello
" @4 C1 ?* }4 B3 ?9 J3 Z- Q% b% B+ p" J* v( Y
program hello( |6 R' P$ F" X2 b# Z; h; }
. K& L+ B6 V P! k' t quietly {4 r' m, y1 [. m# L& z
4 \! f _: }2 p3 K5 lclear; d% ?+ Z2 C T: N' |5 z
9 N/ a# X8 J+ e) s7 A
cd D:\stock\test\source
" j! f7 e! [1 o# k1 e8 t2 ]$ m0 m- T8 X& ?' k1 M
insheet using `1'.txt3 ^3 ~5 H, J S9 l4 p' I% R' Q0 d
) I/ @' Y/ W5 Q" _/ K keep if v5>0/ K0 K$ Q Q. h# E
; k, ]4 a8 v- B
gen vt=_n
6 J B2 r$ l0 Y) B! Z3 k* t- C6 e
# H; M( q0 L" U tsset vt. |. G4 d$ K1 o
( p$ ~, S: E: G- Y+ f4 l# T gen zf=D1.v5
7 }# \# P; ]4 J7 R6 P+ ]4 u& p/ f0 K a( j+ @& A% |0 ]
gsort -v10 c4 d7 B4 n6 }% H7 T$ s! t8 k
1 O0 V5 C& P2 S" E# w4 o8 n' O
gen avol=v7/v5' @! [4 u' ]/ f; B7 ?9 _% ?
0 n: V+ {+ n% w8 b, e8 l |, ~% _
keep if avol>0
$ y, \0 R1 J7 B$ s' }5 ~ 8 U3 C5 r$ {& ?! G, `$ z
drop vt
% F8 I9 ?" r v
& q0 _: n! P8 M% @4 Z7 g/ Q* d gen vt=_n
e. C$ a( w* `
: u4 r- A9 D- F" t ~# d7 j tsset vt& h4 D: E/ n# t* t8 t* K
. h) K1 @* e8 c- u; N
sum v5 [aw =avol]) N; ?% e/ \, W% ?& X1 G
8 m$ `2 n! E3 w+ d1 M
gen amean=r(mean) in 1 v) A9 w- V4 P" @8 p
) A6 c# l S* X m. R
* 总加权平均值 amean
' ], e0 a1 n* T# Q( F0 g1 n2 R) T
4 {( m% K, L/ G- p5 w 2 P( y" t$ r5 H" i# T' b) ?3 p
keep in 1/240
* _7 d8 P. e# N1 `, B5 f9 [8 W& |0 X; P' }/ I
sum v5 [aw =avol]
9 A7 m% S6 Y4 f2 e
5 S. t0 j( ]4 Q" K5 w, H gen mean240=r(mean) in 1
( b+ Q p ]- o' d/ W+ D& Q 3 u8 V* I# V% h/ |' |2 o! u" u* e7 Z
*240加权平均值 mean240
8 w; @9 u6 _3 [
: o+ n$ n* q# E% e ^" k% P$ Q set obs 500 3 ~' t; H4 [* I7 N! D
# }4 p! X1 b# A kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph X8 q+ R2 ?& j4 d9 v
( v# h5 f3 z) z& ^* j; f
*240 kdensity(dx240 dy240)1 z6 J$ _5 j r" x: g9 f( _7 [) H
" s2 {. D( J% M6 k* ~; ?7 r sum dy240
4 X* ^* s& b6 K' J4 Q
; j' `+ L- G. o6 m8 H gen yxis=r(max) in 1
" G( \4 C, l4 Y, w' _, @ ; A# x, q; J3 A8 T( K7 m) h
gen yxis2=yxis/2
5 I( L. ^1 K' j& u! F 7 x! A6 E- m3 O
*yxis
# @4 s, V. I! Q( \ T4 [
! y h; y2 c8 {8 j gen dy240max=r(max)6 h# g5 t/ {* A1 T; r7 c, V# _
$ s* _# }& C% v0 [& P8 o gen dy240minp=r(min); O5 ^ G( t1 _0 }) Y- t! N
4 x3 H3 C* t# ~/ W- u
gen vtt=_n
4 }1 F2 i4 ^- R: s5 c8 k$ L* Y8 m2 y& H( @4 d( A9 \4 v+ S% Z
tsset vtt. M, a" N, G& G- n; ]$ W/ u
U; P! C- Y, J: ~/ c4 W* R1 o' F, Q gen ddy240=D1.dy240/D1.dx240( ^6 w2 u5 s: E' X- J1 ` d+ i* s
, s2 _0 W3 k5 c2 Y sum ddy240
+ b: [+ V6 E* \+ T+ n8 j s- P, B, [9 i3 {. n
gen ddy240max=r(max)6 m% o9 _( G+ d" f
v# N& H2 a3 Q) L& F gen ddy240min=r(min)* ?4 F# `0 }8 d2 ?( C8 x
0 F+ t- W" e9 z! `9 f6 h8 @
gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min). ^' ~7 G8 o! f, b
! k& O6 F# |& J0 D' v7 b sum ddy240g
; W8 d' A1 x: P4 Z ; m* Y: v( }/ c) a% @! K" J9 L
gen yxis3=r(min) in 1- h/ T2 V5 |9 v: n5 A$ w
# \# V- e8 e# f S% B5 d0 } gen yxis4=0 in 1) `! x2 h* E2 d5 f2 u9 b6 y- E
s! i* Z; E2 k3 q/ ~( f
*ddy240g ' S8 T6 R. g# M% P$ g, ]
q" V8 A' R0 P% p
/ Z4 v% x( U" m0 z6 b, i7 N/ t preserve * v0 X9 O+ q; V8 m$ W3 Y
3 c( c7 X R+ E- i. a& V }: J sum v5 [aw =avol]
/ I! S2 a; C, p0 T. e) S6 w1 ?0 V 6 x1 G$ ^& V/ \5 @
keep if dx240<r(mean)
) s) n5 W. J/ J4 d - V7 q; j% p2 J6 [1 Z5 S5 ]
sum ddy240
. a- z5 V$ S5 c: n/ z$ G* ^ 2 N1 C. f8 \) q' O0 j k' C
if r(min)<0 {' ?, P8 Y) x6 }
5 w) e z" D; ~& h" \ keep if ddy240<=0. P% ~; B3 v3 A
2 Q3 ~5 G0 Z* V( k2 I count+ a7 F9 \5 ]5 l' s. H8 ?+ x
@3 P8 X0 R0 W' D8 Q
if r(N)>2 {
. \# T& x) ?. Z! i- }% J" G
2 t. {0 C z! m- t4 \( P pkexamine dx240 dy240/ E4 O1 F# z6 n/ |/ s+ U
5 V8 [/ l6 A4 |/ G3 ` local tempminp=r(tomc)' Y7 r! `7 ]& w, @2 x6 P
restore 3 a. N; w1 r* W' K* {" B7 f. w( B
}7 ~$ G: |. L h6 J, F1 \& U; x6 s
8 Q" r1 ^# ], s; t
else {
, N& d t6 n6 y: ^1 G . g4 W7 N9 Z% |! ?# s8 D
di "cannot find minp"* [: I' `& Q* m6 u! B, w
, F5 w$ p. e. E/ o7 Y4 J restore
) G+ n7 S) r' O" ?- p sum dx2407 u8 h+ {9 A( g
local tempminp=r(mean)+ ?* Z, l# n) o+ ~* o
) m6 [0 N. o8 J7 l% f }, e' E# o3 |3 U+ ?0 P: g' \: z
}, q5 \: M4 S+ X+ Q* @
else {
6 z8 a- p3 t& i9 b! i : B8 R# ]0 B" n
keep if ddy240<=r(min)
% l- X9 F3 B$ B$ t! }
6 ~! E! Q* ^9 k6 |) b1 Y2 x! ]9 @: B sum dx240/ L4 P `/ W2 M# f; _
0 s" d" i5 y" W# R
local tempminp=r(min)5 v: p9 S- @' \" L$ j7 Y9 n
restore : \. _0 Z( O# i" [. l' E' m, t, ^8 T
}, ~. B& @0 T; p. r& N0 @
+ W: B' f Y8 Z7 h% }+ j# C$ _
5 W+ e* q9 [! y# r5 P% x4 Y; [) q
6 ?/ Q; q, m2 I2 B; D3 ~4 u/ L9 f a gen minp=`tempminp' in 1
- I# X* j) ~1 a6 z; h5 R5 z *240 minp' f0 r% ]+ R+ d# z! X6 J
& D$ S0 Z. M$ b+ l& O$ [( e
# W' ~: \! k8 \- l2 ^* Y
0 p3 s4 R* b* |7 P. E: e/ C- e preserve ) N# [' ]2 j7 ~( Q" p \ L6 [6 k
: `( |5 D' p) }- y5 T
sum v5 [aw =avol]
; B) {4 Q6 `! y: e) o 7 A# b. ]& X" K! `$ @' @; j: E
keep if dx240>r(mean)0 Y1 k( v" w; J2 x' M$ J R
* ?8 Z+ i# T( k sum ddy240" O" O1 L" y$ k( W: ~
) G9 y$ W' C0 G, P2 ~$ {7 Z o if r(max)>0 {
, U- y e% W7 {" o; _3 P! S- H ( B# R5 M& s+ q, s% L6 Z$ f* t
keep if ddy240>=0
. Z) a. F' v. p8 z! W1 g1 K
) m; l* ]) K- w3 E count
6 R! {1 S0 Z+ T! N ' P9 `( y9 a9 J+ ]. P
if r(N)>2 {% E& e ~) g$ } z+ y9 i5 X' c
/ C9 |% @. m0 I5 O; Y
pkexamine dx240 dy240
1 t: U2 G5 ^. f ; t, c3 G6 r5 U
local tempmaxp=r(tomc) # F; Z4 J0 v5 { `* N$ q
restore 3 e+ l9 z: h1 a, f
}
/ a% E& O3 _4 F6 O) b' }0 F( o8 g
; d2 }" r- G# ~8 @* m
0 x4 b8 T* n) I else {( r2 v% a* q, ?$ C- j" T* E: y4 |
restore 9 U7 O" [0 E6 [( w! v- m
di "cannot find maxp"; r+ c! f9 s8 B* w' e
# ^' i, f# ~0 y; L2 @1 N* \
8 q* a+ V; w1 z w$ N" l3 ]0 E
sum dx240
+ j& ?7 C/ I( A. j local tempmaxp=r(mean)' F) ~' G* ] J9 c5 j+ @8 R
$ R5 C5 y7 \# T- m, G* @8 l
}
e2 {8 ]$ `4 F5 n6 S
4 C! W4 u0 X5 C7 Z$ P8 ?& O }+ a6 [% d3 l, f* O
) ^7 B6 K: ~3 p else {
$ B" d# l+ Q! n& M+ |; V1 p ) I2 @; L6 p t A% I; o' X" t
keep if ddy240>=r(max)
) w, \+ g% r& P5 S9 o0 ^7 C$ }" u0 v 3 T9 v1 q# ^6 l6 T8 b
sum dx240" a1 A2 b! k3 D
% h8 B$ X4 C# |, x, U local tempmaxp=r(max)
) a2 \! a/ p3 X* \) g$ [. F restore 1 G0 |* N7 j+ ?; C! y. h: {
}: o' s4 d. ^2 x6 d
6 ~" c O" }2 h% \& H, @; ?
, h& v/ W9 @$ i7 Q8 U
1 k" M& |" D. ]& M# z3 U. H( z
) _* W* _; y1 V/ I1 m gen maxp=`tempmaxp' in 1$ U2 D0 t0 V4 @' ~( y/ C) j, P& F
; x3 R) V* S) h; F *240maxp
6 b/ W8 r$ P6 _& U
, Z+ y% e' o: ~ f ; m# o9 s1 C" m' Y/ c
*-------------ddy240pminp左侧高峰值-----' o5 c; \7 ?4 ?/ N7 z+ q: }9 f8 |
2 R3 \* q) e5 q0 z9 d B
preserve 0 }$ H) H% ` ?0 @( Q3 \( O
0 p9 X! I; u" U. {* H, @
keep if dx240<`tempminp'
7 H0 C3 j& c# r+ z( n1 O4 I. z! E9 ~+ U! K ! C- | r; |. y9 {& x0 d9 C
keep if ddy240>0/ P1 A5 ^9 K1 V7 h( i* C2 M' A: W: i
4 W& s3 _3 X; _7 J" O. i0 a6 T
count* h8 J4 f4 r; v
( ~7 K) M. s! ?2 |' W0 _6 a1 h! k8 r
if r(N)>2 {
4 ~" _8 W( ?% s
3 t V- @" Y' x& u- e5 J$ ] pkexamine dx240 ddy240, s2 L, u+ x$ g8 x5 @+ h& Y
% t- i+ }. T* O' ^+ ?7 o" `- c0 j+ e
local tempminphddy240=r(tomc)
' [' p+ V# i! ^( c, J restore$ ]2 r. n2 Z' V' U. G: V
}
0 E' ^( e$ j/ M$ O8 K' s$ o
6 ^' n1 l! u9 q' T else { {, S+ v4 O" {* c
restore & Y3 f6 G2 t4 }$ L9 H7 S% Q% M
di "cannot find pminphddy240"
% [& w2 W1 N' D" p
1 e0 a3 ^3 [# _* K* M: |
4 [* ` W3 R, A) _( z* X+ q$ H sum dx240
, W7 r4 I0 a+ L- ]6 G local tempminphddy240=r(mean) ' {! Q& m6 A1 W, [( i2 S9 O8 [; b
$ _7 g* { j! A! V! }& `3 b, I
' D6 E4 R: Y2 y, Q- U k }
- y, [) [2 b8 g B) H" v( Z 0 n, Z, f( C7 f7 h$ B% F
, T) f2 |5 q4 d# N
& _8 k X; l) P8 F
2 P2 w# K _( z& \
* L3 A2 b+ f8 u0 P: S
7 W5 L/ \6 _1 M( l1 y gen pminphddy240=`tempminphddy240' in 1+ }! H! L9 \+ v
7 x/ G8 x+ D6 T. r5 ^2 j# v9 @
+ f c* G" c" ]: { *-------------ddy240pminp右侧低峰值 -----------------
( s. E' X) e6 S' v5 m5 Q5 `# N! V preserve
/ u2 n0 j, p9 Y; [7 X c
2 C1 p1 R1 |3 ^* a3 H7 j keep if dx240>`tempminp'' j% c% r/ a" J
$ G- r" D! U& h3 D/ }' U' ~& L( J! b
keep if dx240<`tempmaxp'* v8 O6 K9 a) w+ L2 H" `
% ?/ C4 E3 z# {; w/ A) ~9 \ keep if ddy240<0
8 c8 G7 q+ x" }9 r9 d5 G" | 0 b( ^/ }' A* k1 P
gen temddy240=-ddy2407 i# t4 f5 V# m1 A4 a$ v
3 g, A6 R5 u8 o
count
3 b A+ T) T. D' Z; H6 m
; j8 w9 U- _& _9 x: W" l4 B7 D( m; V if r(N)>2 {
; J4 d1 c q5 ~ w% K 1 i! q. I0 }5 ]; \; X, e
pkexamine dx240 temddy2408 F; `9 ?# Q$ A$ ]
& Z7 E) u8 I8 R4 x0 u
local tempminplddy240=r(tomc): A( _" n2 z# {; d
restore
9 Z3 I- Z4 o' ^) C }( t: G5 @0 q) _# |
! Q( b% ?( @6 u; n else {
- [* g( D6 L( Y0 T4 _9 j# B% ^
1 |) b5 Q2 `8 E6 W di "cannot find pminplddy240"
6 m) Y& ?1 q- v; S restore" J# Z) N* J- z
" B, k Q( D3 E& a
sum dx240, j$ o2 R9 {1 h
local tempminplddy240=r(mean)
5 `) d6 L. L: [% v 9 w; A+ \3 k9 J. P
& T8 b: t2 v# s
}
5 {" d. r6 E) w: C
4 {+ ]$ a1 d; ^4 E0 W; w # }! q9 p) s$ n+ v' f
- n9 N2 L3 P! B) ~
) o! }4 f& f3 j8 T# w3 r
2 n8 w0 Q7 n" g gen pminplddy240=`tempminplddy240' in 1
$ z. z' j/ t+ J; _
& n! S$ q: x- [" t$ m *-------------ddy240pmaxp左侧高峰值 -------------------
2 l7 k; {/ O: A& y. d
/ ` d4 k- m/ R preserve * r: W+ b0 r0 m) Z
; O3 m9 g& I, \8 p
keep if dx240>`tempminp'
( I! h" S5 z: O( |& ] . N- P0 k; o# b9 W# I4 f u5 b1 b9 y
keep if dx240<`tempmaxp'
. m$ E, f4 j7 t) L7 K2 c6 }6 `" ] * I0 C9 y k- ` N% g
keep if ddy240>0) k' |; _+ R R
count g* W) b9 k2 S& ~' r% ~) y
. G8 w( F2 P/ T4 u
if r(N)>2 {0 c: G) r7 ^0 W g
6 H" c% l7 l9 M7 u5 d( { pkexamine dx240 ddy240
' e' c$ t( H% E/ x$ e/ _9 S+ a 6 D' _0 f9 q+ z: |
local tempmaxphddy240=r(tomc) 3 J' u1 P t4 B6 [) X* E
# q+ Q$ B) h: @+ {& G
restore) D" K' k! a5 D
}" g* b1 i7 R6 o) t$ ]3 I
! a* C7 e, L2 s6 h2 ^
else {
. [- w4 c5 A7 t( }
4 S$ g. K" k6 e. g4 O f% u4 i di "cannot find pmaxphddy240"$ Y9 c# `5 y7 G
restore
* v' N& T, n/ @
0 X0 u4 z" X/ E4 ]3 c' c sum dx240
% F) F; j# D v1 j* s local tempmaxphddy240=r(mean) ! u0 Z4 Q5 A3 F) ~ C
/ U4 f" m- B. x' p* Q7 V9 k
( c( I5 l$ b; j, G9 v/ d5 H }5 b, q! l$ g6 ~) w+ ^0 d1 _, v
+ \5 [( O$ |2 U' H/ Q$ ]
+ `9 i3 t3 f Q& |
& [% E% r5 s% ^+ M. O2 {8 r/ J( d
" X9 e1 ~2 s6 D) c9 k
I5 `4 e7 f" V5 c: ?+ w ; @9 j, S+ a% V6 i" j
gen pmaxphddy240=`tempmaxphddy240' in 1
a* O3 c3 @% V3 Z" r# N4 h
) s* q% b) j( |7 ]+ A . g: k9 J# w& u
*-------------ddy240pmaxp右侧低峰值 -------------------
# Q* L3 x) N+ q' j6 C R
' v- _: g( f0 r, F, F+ n preserve
8 m6 q, Z+ c; B# G, w% X2 x& | 2 F7 m" m: w# d, f! h' x3 q, o
keep if dx240>`tempmaxp'/ A+ G* v: I8 W
0 h% Y2 c( z( J
gen temddy240=-ddy240
" Z4 I3 C) R& t' A0 }' k; { * S$ H |4 |" A) c
keep if temddy240>0) r2 o; P! j M& u' I! S0 p
. l/ B' a. Z9 M. y: p
count* l& m/ R( B* E% b
; f0 E% D$ G& X, x' j" z# d% E
if r(N)>2 {. N6 e [$ P8 N) E0 S7 C
$ w) B7 k4 P* x% r
pkexamine dx240 temddy240
- G$ |/ p6 J1 ]# U+ c1 V 4 a5 c, M# s3 j# ]8 g. ~
local tempmaxplddy240=r(tomc) + o; @1 K Y }, |' {$ D. z
restore3 p2 w5 \6 H+ T7 R5 ?
}
1 x, c1 Q5 I% N: i
3 i4 f' W6 u% n( S else {
$ c( M+ p R# b; B/ A8 l restore& O, b7 Y2 }3 u; a: G) R( d3 P
di "cannot find pmaxlhddy240"
" S5 Z4 ]5 G% ?3 _- `
8 @, K, {" y9 D0 J C' W0 G # [$ j% [# f7 t( T
sum dx240
7 B) a) d8 B* ~3 ]% O$ t7 {, t" f local tempmaxplddy240=r(mean) in 11 D+ v" D# |; f% z
7 Y& Y9 Q9 g( y" m# G$ B
/ }8 P3 ?$ W3 i, v$ h
}6 J2 M" {! p: M* ^
: X e( z8 ^: l. }7 Y$ D% C% K% m
3 e6 o+ y" r8 c2 K& w* s3 A8 m* ~
) [2 g7 L8 ]9 x2 c; n0 A
# Q% v Y* o4 J7 m4 I9 A% p 4 ]' c+ m+ H3 E' Z& i
# q' x% @+ V7 q/ m( n: G4 j
gen pmaxplddy240=`tempmaxphddy240' in 1$ z- l2 B$ B& H2 c( H, H8 Q
. P# [5 R5 N0 V0 A+ v- c6 T *-------------------------------------
3 W/ q, S3 @; T2 x 2 _) t+ e1 ~5 L$ Z* R% [
gen price5d=v5 in 1/20# O# g1 {3 v; ~# Y
. C' a$ O7 g1 P( M/ l
gen price5yy=_n in 1/20
, a+ [1 \8 p; W8 D
0 H& a% r9 l5 L# |, U+ H: | gen price5y=price5yy*(dy240max-dy240min)/20
9 S( E. |9 V7 z: g5 {, b8 d ( v* v6 J3 k* } m4 X
*price5y &price5d/ E, c; @2 x6 Q
% a S3 F! ~' R0 m7 g% L
gen priceny=price5y in 1! c' c/ K; ]' t1 @2 {5 [
. W: z3 q2 B0 x/ V) q
gen pricen=v5 in 1' b, r3 G5 o3 _* j& L" }
& u8 h5 u8 n7 K% p$ g: Z9 T
8 v2 `0 b' s: a *priceny &pricen
1 P' K) g7 y" ]9 W8 X _0 }
2 T& s* h8 k3 ^( L- x0 Z 0 B9 P1 J' U& d0 F2 Z
*-------------------------graph------------------
" Q# i6 J% w- V0 u0 H2 A ) \0 M6 ?" ^' c' {: L0 L! i
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)
- b+ ^0 {2 R2 C ^ z8 F. z
% q9 @0 \) K4 l7 }) c- S* }* ---------可选项目----------------------6 h( F! e9 R/ @
*(spike yxis amean,lc(blue))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean)): b& V5 x. B: L' @8 R; {3 E" Z% W$ I
}
1 \ ?0 d; m. Mend' X" q; x( R) V4 }, L( N" M$ _3 |" n
|
|