|
maodeng 发表于 2013-1-28 13:13 ![]()
4 E& F' Y0 q+ r7 c- _% y. hello 300236
3 [, h {- r8 |1 B5 s. q/ {statement out of context
: I; H, J% o+ i( q' o3 [* c4 Cr(119);
( b2 | J9 Q$ H% x# W& d, s% |! ~抱歉,最近太忙了0 K; f, `* j) E3 R7 o# X
4 ^* a3 |; g* Y300236 我用下面的程序试过,没问题
; v! v; Q* }) J( I1 d6 g0 {( j; _. _1 c6 R) l' F5 o# w
你把 D:\stock\test\source 改成你导出的数据存放的目录,再试一试
" O2 R) c2 _ n$ w! e, {. I% K# }& {0 C9 f/ t8 B: o
capture program drop hello; S6 o; W* z9 k' o
% E x1 }% [7 O1 [( _! A* P+ k4 D3 pprogram hello+ |5 U$ @" o! e
% b3 g. A, o5 g% J/ {
quietly {
* V0 H3 s0 |! U* j2 O U8 j
( \/ r7 t+ F: sclear9 e) _6 X# C& q0 s. M& S& E2 u
: q0 _% |* N- Q3 h% u9 Y' j
cd D:\stock\test\source" }/ S% k% C( k
v% ^2 c: L$ e/ ~) x N
insheet using `1'.txt
3 M, T4 @* D V* Y0 T8 T6 z/ b) A0 L2 R, K6 ^" T' O
keep if v5>0
3 u; n! v4 k2 k5 h9 H
. v0 y) k! e: y gen vt=_n. H# L- u8 @; P7 S3 U( ~
$ d/ B7 H- ~2 Z3 z
tsset vt' s" K& ^. m+ z% b q1 w
0 n6 B" P y O% N4 @9 C/ V
gen zf=D1.v55 Z5 W, F/ j2 [& A8 _1 o) F% ?
2 I# j3 I) T; q0 T" L' |, H( N gsort -v17 b/ r L5 P3 z9 G" w6 \) y
& b( A7 J! E% A gen avol=v7/v5
+ @& k% `; [0 s) k , h) z+ B* c* |% u1 d0 P6 s
keep if avol>0( l0 v7 z: I, K; i% b/ K% x' \
_4 i4 J9 A( u; E1 q5 T drop vt2 B2 m& W7 S" G5 @+ Z
' R8 _. z" t" ]. u
gen vt=_n6 n9 c8 X5 m0 E, o6 `, ]6 u, q
1 w3 p$ K2 B; [ z) @
tsset vt* k y9 t8 @( m
$ W8 c: M u0 o* `5 t | sum v5 [aw =avol]2 s1 o' Y% T) i$ q' I. d8 K
' L% M* h, n$ g3 [
gen amean=r(mean) in 1& K# T' _7 w5 l! Q& ?- d) k% {
2 c" x& @0 O: r J& o3 z
* 总加权平均值 amean% l2 G% j2 H' F
- H1 ~: P( H5 Y7 K5 \
4 l3 v) A# Y6 ^ keep in 1/240. a. L% v8 Q8 ?8 k3 \ y
0 s. F( R6 q `- f$ m/ Z
sum v5 [aw =avol]
8 y" U& m5 q7 h# X1 ~' o7 [! R( G: U0 ^. }. \" N# O9 e
gen mean240=r(mean) in 1+ L& ~6 r1 E+ Q
- y+ {$ {6 n; i2 m( X
*240加权平均值 mean240
! S0 b+ Z. ` p0 f) z4 M( [8 y 9 i& ]2 t# G" m5 W
set obs 500 3 V& b- t& N( u7 c+ ^ N
+ e1 z9 V* B v2 @: i
kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph
$ \) x# y3 I$ C5 \& A6 ^# [3 K
' s- s0 x( J0 u. {; c8 `2 x- @ *240 kdensity(dx240 dy240)1 h) T2 S2 X2 F$ G3 h( k+ C/ }5 W
" ]" l" t2 L: R8 ~) `) c: S( V u6 { sum dy240) t7 r- O, z5 i( e2 T" X
L0 A+ M7 {# s; C2 _* `6 H. c. x1 ?% h* P
gen yxis=r(max) in 17 J/ {4 P1 [4 w
+ q# s; o8 B1 o% [7 m gen yxis2=yxis/2+ i# z. n+ T, q+ X* [" V
* E3 x# ?- J4 U8 G' t *yxis
5 R9 `- m: X& F) s6 h! ~4 I . Q$ H p5 e8 d* a* i& H9 ~
gen dy240max=r(max)8 \$ T) ?/ X: a6 ^9 m
, Y) Q# m: J3 h gen dy240minp=r(min)4 U/ f* r$ |5 \; }6 _
5 r( P+ A X0 a" F7 c2 \ gen vtt=_n
5 ~+ u1 h/ F6 q1 [( \
, I/ Q z' C2 E) } W+ G tsset vtt
3 S0 R" A }; d1 `/ K1 n4 {+ D
/ f* F' b# q$ n X, c, |3 a gen ddy240=D1.dy240/D1.dx240
1 h. P1 o( T; ~
8 b5 L/ u7 i' q+ |, ?: N& k- c* C5 { sum ddy240* @$ {8 e( y/ |% D3 A" A. x
( Q' R0 n- M+ |- w5 ~* U; `7 _
gen ddy240max=r(max)
: O) O1 E; G) T0 X/ z ) c' e. F# n2 ?6 u% k7 L
gen ddy240min=r(min)0 q6 m# [' p6 R" H
( c4 n/ {. x# B; m" N6 l gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)
* f% |! b( C- d3 U
! `' u9 b: ]0 g4 F2 c. F' @/ D sum ddy240g+ V5 j+ N: O9 U- K0 {
: T, A7 |+ L/ ~ gen yxis3=r(min) in 1
5 P( S- V: Q7 m u) b
l/ r& | I# z! @% W! R gen yxis4=0 in 1" K* T1 F" }! ?4 ?7 q6 ]6 p
+ m0 X6 |% n, a( O& w" a( F *ddy240g
0 T' D% t5 t% [9 J. g
* E8 O- {3 \6 S5 U
' e) s% T& _* F8 r& M preserve
" S# h/ ?$ O2 Q' t, \ 8 i& z5 M: y9 R
sum v5 [aw =avol]
9 I9 J8 [+ A% K" o# [1 w - ?8 R- L1 ? R) O* ~4 g
keep if dx240<r(mean)
) s( N8 b; ^4 W! m% K0 k + ?' n, F+ W9 ~2 n
sum ddy240
" O; Z0 F, W' C4 u , a% w$ C1 R4 r) Y
if r(min)<0 {2 V) B) B6 U. T* E! B
! X& d7 d/ `" l. E$ N: ]' u h
keep if ddy240<=0
6 W5 D4 E( P" | % Y; @$ [: k+ Z3 K( x# q* g
count
, ?+ `/ j" }# I6 s' j4 M# o$ P% r 0 `3 k( I& j: _* w+ h2 L L, H$ r
if r(N)>2 {
' N1 J* A1 {+ A6 ^9 K& L. b; d
1 a, G/ E4 x5 p5 |( Z7 @5 s pkexamine dx240 dy240; v0 C& n% S$ f8 j0 @" }" {$ |
6 k$ m7 }4 p0 l2 ~% j
local tempminp=r(tomc)
! o7 S7 c, h4 @( v/ S9 f restore
- C; M7 j ~) K } }8 W* M( B5 u3 X0 d2 G4 C' Z
& D: M7 o7 |3 Z" | else {
# ]- l6 [3 G+ s. |
4 Q8 D0 \! c" B; g di "cannot find minp"
& b _8 f2 N8 Z2 n2 B' v* X $ Q6 O; N2 A, \$ i
restore
. D5 z/ Z1 e! U sum dx240
! z: e5 n, e2 T. ~! I$ j local tempminp=r(mean)
1 @# e$ w/ Z% d3 R3 R. C
, s! q5 A. b, ?) q9 [ }7 Q) R7 v9 z0 F. g( N. j4 {% n
}
: f1 @$ C$ K2 }! |( _3 G; t else {. r! H" @6 y& K+ d
9 a" y# x/ g8 l6 S; g+ B6 d6 ^ keep if ddy240<=r(min)
* v9 R! ~8 {1 l# p. e1 h' T6 y' Z . @1 B1 H7 x+ ~8 [
sum dx240
' F: r) A) m) @ ?* Q4 u 1 Y! `1 {+ _2 ]6 b3 N2 O! z2 l; V9 Q$ A
local tempminp=r(min)5 I' k1 }+ c3 T" e; O
restore ) }! g+ w5 l3 y0 s+ U0 \/ X6 { v
}9 B+ M! n" J7 j, v8 d9 m
7 K8 @+ X4 a+ e
% R2 @" g; ~' i* ~ |
5 i0 r1 O+ C. S+ B% s
gen minp=`tempminp' in 1
% }) ]: V4 K% x6 j( ^ *240 minp
2 D3 z; @, w: B7 W F( P
! q, T! R( |% E3 g" h: ]( v- |8 s& J7 d8 W+ Q
; e3 {% }# o* q/ k O0 Y" | preserve # ]4 }8 j% _/ K6 h* E. r
( h1 I1 G% i) _- f9 |" e: J sum v5 [aw =avol]
. |4 c, N# {: N9 e& n1 i1 H" C & h3 z" |: j0 D3 f d6 `
keep if dx240>r(mean) s6 k1 X1 U4 U, A. S9 s1 ^2 O
$ w* X8 _& ?8 |. i
sum ddy240" R& U1 `+ p* W9 s
/ A) U8 A6 S- t. Y) E# _ if r(max)>0 { ~$ ]! v( B) n- B, z: p
9 j$ M0 _, ^6 G% R
keep if ddy240>=0# B, O+ u% N2 x1 o b7 i6 r1 }, ]
$ {4 W3 G7 ?. ?- `2 E
count$ E- S) W0 [$ z; o! `. m$ X9 o
3 _- v: U, W$ k9 I( l if r(N)>2 {
# \. z5 e. ^, ]6 E
+ g' h q$ }# H pkexamine dx240 dy240
# s6 m1 @3 ]$ P2 T, c2 f) Q / T" _: T& T5 m( ^; C1 b0 s
local tempmaxp=r(tomc) # x0 `! [ t+ o7 E2 s0 r
restore / W; x0 S# ^- w& F
}6 v7 l' l& f, s5 J7 Y
" i) P/ G3 P: J5 Q
/ r, H8 k9 s* T( H else {2 }, W! J R- {" G: N) i9 o- S8 k0 V% v1 U
restore
3 `" [0 e4 w! [$ O di "cannot find maxp". ]8 }4 \0 A/ n
& i: d4 ]! t8 q8 ]9 u& e4 X
1 x% r: Z9 [& Z- C8 M [, G2 J; @
sum dx240
1 U4 Y5 N* a1 k- c) b/ C, r* G$ G. Q! h local tempmaxp=r(mean)
) L% V* e! f% c& T2 L7 t; x
8 ^8 M. O* t7 Y3 q }6 t. c0 \+ {: n7 m. F
) p0 m. }9 z* j( j2 { }
9 k" F0 I% h# W" U! Q* ]$ P
" w8 V( A+ {' Q. W6 r4 ^0 Y: W else {
- _ q% o6 `; v 0 S7 m0 o7 @) P- z8 C" ]& o! d
keep if ddy240>=r(max)9 r2 s. m( A! W$ x4 L* [( O
' a4 j$ r0 z2 n" x8 s+ w sum dx240
$ Q# J; }* [3 U# p z; y 1 _3 R D% \5 B2 j3 [; z* h& \
local tempmaxp=r(max) % f \7 h9 N- V# |) Q
restore
) u, e* U- d: }0 t; P }! g- h0 V3 y/ N+ r1 a# v
0 @; q4 p5 r7 a( a' o6 f1 }. o1 R" T: V3 i6 e
! I) q1 z. V5 q* }3 `$ _4 {* C7 X2 V4 J7 n. Y
gen maxp=`tempmaxp' in 1
- N$ K- L: U8 A8 b. A
' C; Q) O; ]- O8 { *240maxp
* [1 R' ^. q/ f. Q4 v- D0 b7 r
7 E5 u! H8 P W; ^
+ F. t- T8 _6 }4 B4 s. @ *-------------ddy240pminp左侧高峰值-----
$ }7 [# X! a; N9 i - Z: }& J5 l2 A/ b6 y2 a6 ?8 s
preserve ! |; d" T7 E* }8 o2 P8 ^
g3 y( x$ Z- ~. l
keep if dx240<`tempminp'7 e/ G' k. G+ e/ P: l0 d& W2 v
' X$ j2 J$ Z/ |% C5 |9 _) ?! x' X
keep if ddy240>0
, s. }& a' s7 ^& B( { 3 b: H; l2 }9 i: q; S
count
, O# r2 `6 }* }' h . i6 N* g( v, b0 m* P; k' @
if r(N)>2 {8 L3 ]* x6 J- x. d) K B5 t
8 a/ P% C# W9 R; }% Y/ T4 P
pkexamine dx240 ddy240% ?- R8 U4 j! ?
6 z# @4 D- O6 m2 ^1 Y% y- O( {- c3 O( ^- U
local tempminphddy240=r(tomc) " g: x* Y X) _* j' _
restore
+ G- W1 [- ^# R$ s! _ }4 p0 `' u8 a6 `9 C7 P- A) `5 z" @
3 q. |7 S0 b2 e else {; q e9 u: U( ^1 Q. M/ J
restore
a( z% `3 v" l% j di "cannot find pminphddy240"8 q& |7 T4 o5 P! _& U* Y0 h
" g' I5 S$ k1 ~; |
7 \4 {; _- S, o( T' ?' S! q f sum dx240! J$ |! w+ p% b) q( t: I
local tempminphddy240=r(mean) ) u6 E* A" j% l, c
' I: {4 L, a i W) i5 v
1 ?1 \( p+ p2 {- J }3 w$ T( N6 ]# M
. e# K5 x( v2 \8 N9 B4 d
- }! k% {9 s* M+ J, a. V 8 i; [0 W+ f9 K6 h4 C: r. P8 ?
- K' y9 K) z& `# x
4 Z' r6 c$ @6 d, Q& j & i6 P4 R# Y+ Q; q8 u- a1 T8 }
gen pminphddy240=`tempminphddy240' in 1
5 c' t: F, \+ l4 d0 X
8 c O2 p) d9 o/ ^7 g q* `1 }
' `+ W6 S6 J% A- D. |' r# F3 r *-------------ddy240pminp右侧低峰值 ------------------ C4 @* W# _/ P- `1 Y
preserve : O. {. C+ \( G7 {
" t$ r6 k! ]/ F' V& ~ keep if dx240>`tempminp'" {/ x. Q. K9 _2 F
, Q c/ G i5 B/ ?) R' B7 s
keep if dx240<`tempmaxp'
$ Y8 A1 a4 |2 n' h. A1 o% q, P- ? " v( W6 j. b9 p m
keep if ddy240<05 N) g/ L _6 D2 l
4 a" _; X- {' m3 k/ { gen temddy240=-ddy2407 {8 Q! `4 _8 y0 h4 s3 P) n
C1 ~! \9 _. z) U8 \. k" V count
1 b) |, n. ~8 U" \3 v' D
9 t6 {& ?$ M" w6 {0 [ q5 R V if r(N)>2 {* s' v& m. U5 D& m8 N% `
/ w8 v- y9 q3 \* P: _0 J pkexamine dx240 temddy240
$ A9 a7 L) G/ e g- Y1 ^ ) E6 u3 d* H5 r8 z& L6 k
local tempminplddy240=r(tomc)" G. A* k# }8 Z& P/ Z
restore/ C1 X) H, d' P- a; h) C% `3 K" H
}
* X1 c( I0 w/ [/ ?7 }- L' y
0 A( y, [9 |$ Z' I8 g% _% e else {
/ a) l2 k4 l* k
2 q+ e: l. t) F3 R' N- j' G# M. S di "cannot find pminplddy240"
+ l* p3 b! L( g0 Z restore& `2 \; T* J7 G9 _6 {0 t* m! F
3 j% ]! b: u( t
sum dx240
3 w0 d n0 r7 G# |' N* z local tempminplddy240=r(mean)
7 X! h* ]! R2 e; V4 S, `: x7 ~. |
, M! t: @$ `$ p/ ? K+ V- a4 V1 E1 n
& O* v: b% P1 p) i* Y4 f+ ? }9 H' @( z. P' m2 e3 P: _9 u) L8 e
1 d7 q W! s5 L% r6 }
% F5 |9 i, L- ^
' ?$ E \) h2 z & E7 w5 w9 z5 e, k: T
3 `! X' u* ]- U1 g0 E/ \' i
gen pminplddy240=`tempminplddy240' in 1- B+ M) \, b" X" K4 ~: h1 u
$ G+ u7 I; K" u% P# }: i9 h *-------------ddy240pmaxp左侧高峰值 -------------------
) J! K: t. t1 d2 S 7 l Z$ d8 \- J0 `& O3 k9 ~* F
preserve 5 `+ F# X1 L+ i* Z
! U' e. z5 q- c5 S! g& k+ @$ i& y keep if dx240>`tempminp'
: V& F2 Q1 y5 O" F8 x( \% c
- O( e$ w# ?, F0 x keep if dx240<`tempmaxp'
& T; B6 [ @! E) L6 R0 |& Z 9 d* z" P7 Z( Q; K" r% |2 z
keep if ddy240>05 d! _1 s- @9 L( Z- F9 }
count
+ ]; \% e2 k: }) X
6 G( k% C9 g3 c% Q7 [ if r(N)>2 {
2 ~6 a+ W( D8 I# z5 `, l + L& V9 {! r x; @
pkexamine dx240 ddy240
* @' k1 B' c8 I% N: m
# o+ X, \" |- A) m4 n3 C7 } local tempmaxphddy240=r(tomc)
* g. C5 C) ]5 }* F3 _ 5 Q Q& i" @ Y" B: E" y0 z+ I
restore: [* m1 k$ q- @! j. A& ?+ w. @4 s9 e0 ~
}1 I# p2 y5 _$ L
9 D* ~2 U# R) a! m T9 d
else {/ c" W$ l8 j* c9 m, X& I
# U9 t& q2 j3 N% i1 C5 L
di "cannot find pmaxphddy240"2 Q* d% n. R2 V' b
restore( U2 T! `: {5 O; k& v; z% z
" t8 s3 N) M5 |4 h sum dx240
: J- n u1 ^2 }9 O9 s! P local tempmaxphddy240=r(mean)
9 u4 [! f$ j9 \1 `1 U5 A
2 z2 d+ l% S. _- T 9 q% A# r. [# s8 [, {& Z' E
}2 I% l/ l+ A0 Y$ f9 v
6 a: j" s) S& r# N, }) E
; n" S% U. E5 R3 ]; x. ]8 c" V% p3 ]
/ a4 f+ ]4 Z" _; l+ e4 C6 f3 ~/ g2 t % P2 ]# b* `9 L6 R! G$ C/ x, p+ e
2 ~; A% U S0 a" w
& ]6 F3 U* n4 I0 i4 j8 ?) o gen pmaxphddy240=`tempmaxphddy240' in 1( m! L: N$ D! e8 U$ ?& y0 a5 K
: ]# ?" f. |/ B6 a: Z
5 G: A) e! q) b& K9 k *-------------ddy240pmaxp右侧低峰值 -------------------
6 I0 G4 y4 n) @( \3 b: n" ?
( E! h6 Q& F7 M0 C7 ^9 n preserve
* c7 \5 I! d- w- W+ o
' P" Z# a! [5 W7 h; W keep if dx240>`tempmaxp'
i3 L0 b, q1 R& w
2 I: P- _- L r4 ~+ o2 X" L+ o% E gen temddy240=-ddy240& k+ i5 V1 ?2 Z" s6 U; s8 k
. d/ ]4 M5 { Z; s4 t% F% y
keep if temddy240>09 p/ M2 S0 ^5 O" M& T7 Q$ G
) Q' k$ @- K3 M4 G) b/ K count
! g- ]* B, z6 K. I* B9 K
- f0 {8 E9 G1 f! K if r(N)>2 {& H) _' R% O }9 ^, w: O, M- L
: O+ T) }" I& t+ L3 K# e1 M% \ pkexamine dx240 temddy240
% q) w; \$ u" e7 L8 C
4 L% y5 \9 Z1 A7 H& ^ local tempmaxplddy240=r(tomc) 1 ~5 e% X+ t! ^& k
restore g. w" B1 U9 f: N
}( @5 C. F$ d" f/ j( T3 z) V
4 {# U! a9 l4 v1 _2 W3 X else {
! H5 {' N( c( j restore
5 p K8 ]' l' k. e% [ di "cannot find pmaxlhddy240"! U$ A0 H3 |% ~: S4 ~1 z
6 ^& M3 j- m/ a
7 V9 D2 z! J L& \7 B% J$ p
sum dx2403 |4 f: d& G. w7 l
local tempmaxplddy240=r(mean) in 1/ p/ B. [# O4 ]- C1 X2 L9 G
1 t. X! ~' p" v: w( Q; e1 k
$ f- w& R" y/ [& p' t }
' E" H2 h$ |$ w9 C" t( T4 W6 U# v ' ?% F$ T& c0 j0 z8 I3 h
: w8 q+ T% [& p2 @$ z+ ]+ s& L8 B' X
+ y9 q, P1 f X9 D v% P5 B# f % n0 s/ S, u: {; j+ `: G
8 r! L7 p$ |4 |- L" X% \: e
8 N" t! {. h4 Z# k gen pmaxplddy240=`tempmaxphddy240' in 1" w1 k) {6 q5 h' i- I. W
$ i' R) k' y6 u9 j
*-------------------------------------
, m- q/ A% K6 Y- }/ r $ r, ~; V1 u' @8 W
gen price5d=v5 in 1/206 W. p8 `+ G" ^$ K9 K$ G
5 b; l' C/ z3 A) }5 ]8 F gen price5yy=_n in 1/20
, q8 w5 z' u" q' l, Y ( L' \& N+ s! A4 Z$ E5 W
gen price5y=price5yy*(dy240max-dy240min)/20
$ R8 y' K; R% @' O5 d
4 d2 K' Y' m6 ~9 a *price5y &price5d. e! [6 }0 N0 E2 j
/ W& C! c; |! K( }- j" z0 w
gen priceny=price5y in 1/ h1 k4 t& C$ Q7 [
4 t# G* O) v& x- d- Z
gen pricen=v5 in 1- _0 K& P! \ {5 Z$ h5 m0 K' U2 k
( L5 Z2 D6 d$ ^8 O* ~
9 I) `# L, V4 A *priceny &pricen
* e. I+ S& @% q+ r- g9 @, q" Q
, L8 N# Z# H' P2 R( x+ J; C. z
& s. V e6 }2 k+ r4 ] *-------------------------graph------------------! Z# b; G& q6 a# j1 O" O" G( `: D
( r2 v: p! l' z( E$ t; C 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)
+ g- i) M" R5 J- f: G( `$ E
1 I; [0 Y O. K' ?8 n* ---------可选项目----------------------
+ q4 x+ ~, ]1 o$ |*(spike yxis amean,lc(blue))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean))
$ U) ?) ~, A8 q [5 C$ I' ?2 S}
& I4 H6 \: ~: q. B; iend
+ ?# F5 j5 \8 k( y |
|