|
|
maodeng 发表于 2013-1-28 13:13 ![]()
- _# [1 M: C) T. hello 300236$ k1 k5 ]" i$ q
statement out of context* L8 h' m6 y4 H/ c
r(119); 1 `. |$ Y U2 J2 p9 g, Y
抱歉,最近太忙了
, h& L* G, O* j" l2 c: q. [+ ]; ], ~! [$ z5 q" ]: V
300236 我用下面的程序试过,没问题7 _4 j+ t* U c. K
1 x! n% m& v8 o6 L5 p2 I7 E5 i你把 D:\stock\test\source 改成你导出的数据存放的目录,再试一试
4 z; O: d6 ~+ w* V
; B: \$ _$ v$ w% W' c) z1 Xcapture program drop hello9 q/ I% I+ Z+ S. f5 N, q
- x9 s/ Z8 q0 g3 r5 n5 s
program hello: |) v" s6 ~2 {% I8 ^
$ s: Q* k- p" ~1 v: ~ quietly {: ]- f9 Q( P& `) F/ L5 P
0 u& P( S: w* b- o/ j3 d: ^" P* _
clear6 p6 D% v- E8 p0 h$ J, [, H( [
% R+ W6 F H w5 ?5 Y! g% Y
cd D:\stock\test\source
! w3 \2 l9 s$ G% k" O
# z |/ `" G: v# i% Qinsheet using `1'.txt$ t/ a- @4 N/ Q' w. }2 E7 _
0 F1 @+ }- L1 j
keep if v5>0. y7 }: H4 m/ R" r1 e
- U1 x% y9 r) q' b9 b- A
gen vt=_n
3 q0 [; J# I* C9 p$ ~
& T$ ? W L* t: }+ Q# T) e. J tsset vt) H8 m& P1 i3 q, |: i7 q
3 J M" E/ y8 W4 E) {7 r8 }+ ~ gen zf=D1.v5
$ s: @. e1 F$ j6 N
; `# r v9 j; ~5 R$ d" _- i' A5 } ` gsort -v1
0 F6 `) i8 j4 \% f$ D: ~0 d! o
$ u. A' z' t5 ~1 A2 h5 ^4 L gen avol=v7/v59 o2 X. X- H8 q) z
' ]2 g5 L. T7 g# m) ?- ^- g% y
keep if avol>0
) b u$ E ?& ?0 V; Y0 q* B! m& V" {
+ {( c- p4 E" m! [# y A- | drop vt
1 y9 ?6 m+ r" x- J( D
& L P+ c% K/ N/ V gen vt=_n
! n2 _) b. Y( j6 O# { ( |2 |0 T5 b7 m
tsset vt) w4 a- |% @/ z2 I
) o2 Q" f% [) C& s, F' D; s sum v5 [aw =avol]
# n s& I g; \. v& N# i3 ` C S
; a. W- Y. }3 M- z2 Q gen amean=r(mean) in 1
8 {* ]) V- Y3 W/ J6 F7 X
/ ]" Y9 I0 u3 |# T q6 T- X. y, i * 总加权平均值 amean- S+ Y; T. z+ ?' w6 p i! q
+ r: A8 p9 T) Y; U3 _% W& i2 o $ r7 {3 V. _ P
keep in 1/240! G/ g* }4 N I+ Z( o; c5 G
! p$ D) q' v- ^9 O3 R) | sum v5 [aw =avol]
7 M$ a5 X( D: G
% K* p B$ ]3 I0 b3 s gen mean240=r(mean) in 1; C; ?0 i, w5 D0 n* S
1 q. u/ s9 n/ w; ]! x/ L4 } *240加权平均值 mean240
5 U; ~0 F5 m8 q4 p j * i( X& A3 c! g0 h
set obs 500
% g$ U6 H# ?% F2 c
/ Z1 [6 l0 J5 l, r% ` kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph
# T. M1 f: v6 b# N / Z9 n4 `' C7 N) n: l; @6 P
*240 kdensity(dx240 dy240)
5 t$ R4 l5 l8 T) y+ j" {5 o
& g, ?9 J, |: _$ @/ X: }1 B sum dy240: k! _2 }0 c8 l, p6 I& u3 N
: A" p3 t1 i8 B" P3 D9 q
gen yxis=r(max) in 19 T( W7 P' r1 e# X* \0 W7 g+ q
% ~/ L. ~. V- a gen yxis2=yxis/2
+ D* ]' Q4 P6 a: B3 v- T
) v) K2 Y. o* g* I7 K2 _ *yxis
( l( G% |8 U& T& Z# W5 i& ?+ e
/ B7 [3 X6 `* v: m: W gen dy240max=r(max)
o0 Y1 q0 a% y2 u
- C% y. k! L3 _3 `6 L6 X2 F5 K7 o gen dy240minp=r(min)0 ~ t) b" B$ c" A1 V) p4 l
0 Q3 j+ [) d4 I m
gen vtt=_n- n4 c9 m( m2 Z
* h5 C# u" V8 _ tsset vtt
9 @' L. I: N3 i9 o' E) a+ h8 ^6 k' h) X% a$ L$ J
gen ddy240=D1.dy240/D1.dx240
) i7 P: `# |2 @$ c S5 U
; g) _, s( y$ X& |& [% v2 U sum ddy240
" C+ \) ]& g8 b1 ^! y( f
1 s6 r y1 f) E- v w# }, r gen ddy240max=r(max); X9 H: ]6 r, m, O9 x' a6 h) d
8 O0 Y: `4 v+ F2 j5 W1 | gen ddy240min=r(min)
& H! a' A9 C6 X# \5 \ , n3 W+ T3 l' C2 l. W
gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)
) N/ ^# s' n) m2 q9 G, }2 t: j8 G$ C 5 u# c& V# W Y0 E3 T2 k |# n5 G' u! p
sum ddy240g! X3 D0 j+ F7 [* D
' O9 I n$ F0 f4 _" s. w; a O
gen yxis3=r(min) in 1
3 T/ o: ^5 k5 i4 ~" Z0 B
7 N* O5 \0 A, S' w: B$ U gen yxis4=0 in 11 c t. Q# N1 {7 Y
& a0 E" q* V4 ?4 H k) G% s
*ddy240g 9 V6 {9 F h# |7 a
" d9 ?( ?0 f0 E$ b
1 s' G) A( ?, c6 u" f6 f- Y
preserve
! c. M5 @ P1 ^& R7 c" g2 j % B7 }0 X! E1 k1 b* n
sum v5 [aw =avol]4 ?* J( _ v( g8 }/ F1 w
% ?4 G7 \2 S- J6 w7 R% X
keep if dx240<r(mean)
. O# P5 E' j4 X6 | r/ j4 Q + X9 Z9 s0 n% z9 T% A
sum ddy2403 o( W }" ^6 [4 F2 J
! T {' Y: A) W8 o8 r) b- {+ |0 v
if r(min)<0 {
+ D5 N- O1 w& k& H. \; H & b* ?) R+ n) Z1 |8 N3 `9 l& q( b
keep if ddy240<=09 g1 h9 Z4 Q5 m; G) \
# }. z" v& c: g1 u count# Q& z& X( q3 x+ ~0 {) g4 |2 G
+ W8 g+ y' A/ U7 T
if r(N)>2 {
3 p/ a0 Q s- Q @# V( E9 E# {
7 A/ P6 f( \" R/ }7 f) Q& | pkexamine dx240 dy240
. r5 `" x1 h! v/ M
$ g' w2 G5 B+ @6 D local tempminp=r(tomc)
8 Z) D/ U N* Q: Z& v' c restore & }+ Y2 r* `* z4 O! p( w6 H, |. V. O
}
5 I! q; {% s& s1 J7 j3 F ( \( H! c7 h3 J' v
else {
! w' ]2 C9 ^ Z1 {$ b' A 8 S) f! K2 o; l7 C
di "cannot find minp"5 w# C) o) S% K7 r, F- J" a' d
7 x$ `; D; M& X+ |" T
restore 3 S7 h4 f0 r5 H3 t/ _( K
sum dx240
, j, K6 a; c8 g/ B# _" w3 i local tempminp=r(mean)6 F! t1 ?: @8 Q& @8 e b$ t- ]
% [7 q" R3 S* r' h8 j2 Y& F+ G }7 J+ L& a4 G9 T4 r1 s' N
}3 X# c# Z. b- c* P
else {
# X6 d" E5 ^7 f3 q
- m9 [# ?6 r4 a3 n7 { keep if ddy240<=r(min)
0 h9 j# Z; n/ e7 s# A
j( ?& R% @1 o" ^2 d* y2 R' n sum dx240
1 _+ a1 `$ B/ N+ a0 \
; G& M# `8 z- ~) Q$ f, Z% P local tempminp=r(min)5 T2 c: b6 z0 g" D5 n N
restore 6 G; [7 V$ d6 ?
}) B4 `; `7 C) A9 L. `9 E
& U, X. }+ R6 e( G: y0 i5 ~9 ~& p- a, _6 U( w/ q* t5 H. x
/ t0 |! K. F M+ Y8 W* C% D gen minp=`tempminp' in 17 x3 b# f$ Q6 C
*240 minp4 p6 ~4 r& n/ T- X }
( t' g% @5 E: x% L/ u. ^$ C+ f$ x% I# ~4 U+ O
, z$ `- l( ^# e2 g |6 P9 u
preserve . [8 K0 }* N5 l$ t3 w* ^
! B! M/ w+ ^4 H {6 j sum v5 [aw =avol]6 }( g* c7 m! U2 N; ^, h7 O+ M
. r) E1 `: `7 | c6 t$ b9 D; ~; w
keep if dx240>r(mean)& o9 x$ q' x8 S4 S7 t
, }$ A2 K1 f/ e5 y( r sum ddy240
$ ]7 C0 v3 I; y, F5 x: O' z; f
3 U1 b& u/ j5 h3 F; K if r(max)>0 {
) Q2 ~$ e% B- G# ?, t0 { / I% s% K0 [9 Y
keep if ddy240>=0( C( |& T k4 N1 l
' S0 p) }9 F: Y3 D l+ {! ^% V count
0 a: z0 b1 q( G3 ^+ s3 y
6 t) Z2 s% j2 p/ }6 ` if r(N)>2 {3 C8 n7 }. {) |9 F" N: x! M* C9 @" ]
6 i. x% A1 C: z# t0 S2 E! f; N
pkexamine dx240 dy240
~5 o; L* p" n0 _/ f+ a
, q& U" i0 Y; M local tempmaxp=r(tomc) 0 D7 z$ E `2 {
restore : x+ l b4 g' @/ ]( l2 S+ u
}8 L* G2 z! \& K+ ]5 ~% F( l
- e- L2 Y' {- P' f
) ^9 l% v- ?. G; Y
else {( }( _" u7 M# \2 W# Z' H. F3 S
restore ( Z1 _4 [/ {" _. `" W8 v
di "cannot find maxp" }" X; z3 V5 z' T, z5 _
6 `& J) z7 Z7 H9 h! o0 @ % y; H; \5 o5 a: L. U4 f
sum dx240) K: F5 M# s( D
local tempmaxp=r(mean)+ g" d# `; G: W/ l8 x) R
7 m) J5 R6 u6 W; f& o4 P' v }
1 k' a' v1 f2 T0 r : m8 Y5 D( {) ^! w" h Z
}
2 K. E! _" B/ o) u , z8 t& h9 t- c
else {* r5 g+ Z7 B. j. B# H4 l. `
6 q% w6 K/ l8 g, i; z) u keep if ddy240>=r(max)
- B* m' g6 D$ |0 z# e
; F# f3 x$ j: m4 y# W: [1 b sum dx240
4 ]+ R* W# e$ w+ t9 i) S1 ^' c 7 O3 K- |9 \8 K$ Y! Q" Y; A s
local tempmaxp=r(max) 7 f* a) [8 m% k' @. Y }% H
restore
8 ^( S8 R) V: L" _" u }/ ?2 R$ p- X- L
# ]& r- o- D6 V$ l6 f; Z& E, ~, e4 h: z* Z: w' o) G
2 Z3 S9 ~/ L/ `6 f( g6 f4 q$ g
& `+ K; ?# t% b
gen maxp=`tempmaxp' in 1
5 g( O- a" ?' @/ I/ r' m
/ E; U$ M9 [1 I- k+ F! k D; n *240maxp9 V; ^' [* ?, _+ K8 S
6 Q8 a8 i1 [6 [8 T1 S3 T! u: u3 G * ]: F1 x& g0 M- x
*-------------ddy240pminp左侧高峰值-----
' Y1 g9 R4 D6 o t
1 k8 J4 b/ {# r8 ?' W preserve
. j" z" x+ {7 i/ d; M& E0 ], t% \
0 K! o+ I* p4 s! v' w+ H keep if dx240<`tempminp'
" u" ?( F# i k8 k% q
. S1 m I5 x( j9 Z9 V keep if ddy240>0# e" Q I6 y5 p9 H0 F
: M: l* X4 y: P' W. o count
) C9 v) C# a1 s2 } # q' O; o' D( I8 R' W1 g
if r(N)>2 {4 F- ^4 G& s2 D- }% Q2 A
3 [& e$ [5 C3 l/ }2 u pkexamine dx240 ddy240
q: ^. H8 M/ D4 j \) F; V" z: d5 a7 B0 C, J8 c
local tempminphddy240=r(tomc) $ J& \7 o# I+ q6 G R4 G; {3 [5 A; X
restore4 Y8 A6 T' ~9 k2 N2 c5 l
}
O8 V' r; `! F! Z& b$ |
/ J( g9 T% E1 g$ t9 h5 I0 @ n else {& s% H4 b( V, I! L
restore
8 V+ M, u( `' I; n% N3 p. X di "cannot find pminphddy240"
! u7 L: I8 b* W: M1 k4 ~( `
$ F3 _; V6 }9 L" o6 o0 @
7 p9 {1 z. [8 f7 {+ ~+ K sum dx240
" F O4 B, \5 C2 l: P6 l+ q+ l local tempminphddy240=r(mean)
: g g' S1 y6 b$ C1 t1 \3 T5 J
" T# d. x- m8 p) C - I2 _2 G# j& f; \( z4 c
}
$ X9 m' D j: j* n: R
0 y" |9 Y, M" S- A( q0 x |
) J) Y! i3 {% x+ n! w" }' _
2 t: m9 Z+ i! k2 P# C
6 [* |- {% A, [# K
/ h4 y9 z% e3 S$ h 9 V$ Q" b! w0 V% ?$ p
gen pminphddy240=`tempminphddy240' in 1( L& O0 |" q: @% ?+ D, l6 @' U; T
& P1 o: S9 y; K# W9 r# \
! s% W7 f! r0 @' } *-------------ddy240pminp右侧低峰值 -----------------
. W0 p' }+ a& `9 y2 w4 |1 w F/ w preserve
, M6 E9 T& z" X0 d# ^ 8 B9 _' m, U* q: Q Z! {7 D( [
keep if dx240>`tempminp'
$ U4 {8 D/ s6 p* K \# V3 V
' R+ b) m7 E) _+ Y' }9 { keep if dx240<`tempmaxp'
3 ]$ ?* S' b$ C 5 D+ h1 g; A6 c
keep if ddy240<0
! D* x* ~2 `- z* l1 P" ?2 D; R, G , J" t" p5 ~/ L2 L' S# {% v
gen temddy240=-ddy240' D( w% b3 N& ~2 ~, a
1 ^( G, d4 a8 e. i
count. A/ m1 k4 |2 G' r4 M
" s5 K0 J9 |) ? if r(N)>2 {
3 U- x3 P1 g/ o ; @: f% @- u2 x0 z$ d4 _6 n
pkexamine dx240 temddy2400 y: F% G V/ F, u+ g9 Y
# _, H1 I$ _8 p! }7 ?5 d2 X% d. k local tempminplddy240=r(tomc)
. ~: _4 V0 ]# V, S. r/ M( C+ ~& I7 Z restore) T1 E; R' v1 l7 ]2 G! v
}
5 N6 i! J/ P- Q$ K8 B9 k3 x
& m) c& M8 g A2 I! Z7 k, u else {6 j; C! O, W3 Q* W
9 e: W# M% H3 S* G
di "cannot find pminplddy240"+ V D$ h2 L$ p4 x5 z, y
restore6 t8 n+ F8 V+ k- s3 ~# p9 ]
! `5 a% \* B9 S0 u( ~ sum dx240
. j7 }2 h9 H, @6 T1 P9 y! [ local tempminplddy240=r(mean)
* k2 W& W4 |$ E $ z' O" @! R; `
/ P6 ~2 J# m/ i8 I7 p
}: X$ e! G% S" C
# A5 v3 O( {6 m- {
( G# M; m9 A0 k; w1 F- i1 g
1 f, u# b" C" ]8 b5 q1 }
$ f4 T+ L% Q8 f0 } # n( M( r& {6 y3 M
gen pminplddy240=`tempminplddy240' in 14 j2 A# v2 k. S7 h& F
; s, l1 U- g6 C+ y *-------------ddy240pmaxp左侧高峰值 -------------------( q8 v( ]/ y. D, X, N- i8 O
7 o: [/ G- n G3 E; ]
preserve 6 N0 n7 E( I: Y% }/ J( c4 m2 F- s
7 F4 |* W$ r" Z5 B keep if dx240>`tempminp'
. |7 ^6 }' k; o* D
9 F4 Z9 Q2 m# z4 u6 [/ l* B keep if dx240<`tempmaxp'- g$ _: w( f$ d- a, ?
# J) ~- P; |! `7 i o: G4 {
keep if ddy240>02 X2 [6 u* Z1 A! J! a7 b8 n4 s
count
; [& e/ P' T6 L; y
$ t& q! ]- {. {9 |4 S; b if r(N)>2 {
$ \. t" k6 ~2 V& p2 b
, @, K* E/ u8 \# S7 b7 }9 F pkexamine dx240 ddy240
* n6 X6 U# H g2 h8 o! p2 v 0 e) s5 W9 | [7 j- v) D/ W5 g! I, r
local tempmaxphddy240=r(tomc) . Z6 l/ _* J% G, i2 G
% n3 T$ Q# I6 d3 B" F' _+ \" k' }# R+ z restore( m& v r/ E: f. o
}2 h) o7 X- A6 s
, x; v1 I# J- |% H0 r. Q/ h else {8 P2 N# b; T1 A/ b
8 v/ [1 |0 ^6 N7 ~ di "cannot find pmaxphddy240": T, g: `5 F8 w
restore5 |: v8 V+ s' ?* s" V+ d( O
) I% R' @/ v7 g
sum dx240
3 Y% I4 |% I) k9 R8 W7 C local tempmaxphddy240=r(mean)
+ |2 ~# H: |- d+ o6 n5 E) `
* ^3 I8 r. \9 B6 T# e+ v) W. t $ C- Q3 z. e2 D3 K5 G* R. I
}
% A) z _$ S/ j" j0 X0 S7 _9 S
" ` K" u9 m" p/ q0 N% R 7 L) E4 g9 W) U
# w; `4 w$ Y' y0 W
# B% U$ k7 e' c" `
; m* S) y5 y% A2 ]1 |
3 X: A2 ?: F0 q
gen pmaxphddy240=`tempmaxphddy240' in 1
- A, @" d1 s; }( G* k5 y+ d: ^ # N7 `4 N. O# r; s
- x2 |1 h# o0 g$ S( l0 J6 ~ *-------------ddy240pmaxp右侧低峰值 -------------------: ~0 ]. s! b. ^: H& e
" l5 z# e9 q3 t% b; ~+ k preserve 4 S' J% _* V- {
1 S$ O/ u% L; Y keep if dx240>`tempmaxp'! X9 ]# O9 e) C A( j4 J
! V/ t. m, @$ [9 H' I$ n
gen temddy240=-ddy240
A& p$ k3 e3 O, ]: Q: a 2 V) L0 X* K: P2 Y6 a9 r6 x
keep if temddy240>0
; ]9 P* v: ^* p! C . V3 U' l- d. b. z0 w
count
" k6 U( [7 P m) I7 s! X T$ E. q- y. [7 r1 C! ~
if r(N)>2 {3 H$ l7 v* G, A) W" d2 c
8 T, z7 Z9 S# G! q" o pkexamine dx240 temddy240& z! s+ ~& t. U! D7 Q( x
6 [0 O+ }: I" n5 O' \ local tempmaxplddy240=r(tomc) - x+ W8 w( c- `% _+ m# P
restore0 k) |& Y* D% F1 A, x: n7 R
}
6 ]/ h9 [" |$ p0 r8 X ) {" k$ E- I' P
else {
+ Y2 a" C6 ~7 N& t( H restore
d3 G( R' u5 i# W di "cannot find pmaxlhddy240"
* F- M8 [% C( @8 D/ F. H/ k% I' a & Y" X$ ^& t" v
0 Y7 k9 @ n! K! ^) \& w3 K: l sum dx240
4 d! x8 [, U, y# I/ D4 m% S local tempmaxplddy240=r(mean) in 1! E# Y" ]/ S# n3 }! G, |1 }
) G$ e1 G5 f6 F- C: G: @- E) j$ h
$ j2 d2 s% o% n0 @ }
8 O/ Q U' U9 m) P$ |3 d# h+ J 8 M, f0 ]; W5 _2 f4 w& ?- O& e
% k0 X I0 T7 @1 _6 W9 g5 }
" s, B4 B% Y% J
, A# |5 l+ H5 t; _* ^6 v" s
4 O- Y3 s! q% Q; k & x% R! f. U$ o1 ]& m' P8 v
gen pmaxplddy240=`tempmaxphddy240' in 1
4 q! w' D: `/ O : o' f0 O; z% Q
*-------------------------------------9 d2 z0 c% J+ [8 r. F0 h4 E/ t
4 S1 x7 a! V, q& K- f gen price5d=v5 in 1/208 i* A7 x2 Z8 D7 Y" ?
- C& N V5 x6 R6 i6 s# z0 T' |' e
gen price5yy=_n in 1/20
6 q0 |; N& ~9 ~
% ?, ^ E+ a, g2 e# a gen price5y=price5yy*(dy240max-dy240min)/20& e0 F% L" j. g% b' O! Z
3 I2 a' ^8 W. a% E
*price5y &price5d/ c- _& U% e4 ?7 a& |
. E: S, W3 ^1 o5 [. }
gen priceny=price5y in 19 ?) A5 v1 a0 R+ m# E
6 d$ t, g1 q: i5 }+ f. s
gen pricen=v5 in 15 r# _1 P1 `% U. `' E- ]
( b' D8 D' i% c( ]: J d/ z8 _
& x# X1 f x' h" |- J# E *priceny &pricen
! y3 ?+ f3 e7 {* k; F/ p 0 R& Q U- d& k( I) ?! G$ g
2 E) j1 I7 o$ D- o& b
*-------------------------graph------------------
0 u# Z0 h! F* E# S ! p |7 o8 Z* X: @3 s, V
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- p& _3 r5 l S' i7 v& ~
9 K+ G- K) z6 ~' W9 T* ---------可选项目----------------------" z+ W; }; m, N3 }* b6 f
*(spike yxis amean,lc(blue))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean))- ~ Q2 I- V* R7 ~$ l* B- X
}
2 ~; Q2 r' Q o! ]" e/ b/ Kend
. \# b5 o4 j/ m9 `. X' A5 \9 t- Y |
|