|
|
maodeng 发表于 2013-1-28 13:13 ![]()
8 f+ R3 [1 ]# n1 {. hello 300236
) e2 ^( k8 O. r+ Estatement out of context
) i/ S7 E8 k H1 M" G6 ~r(119); 4 \: Z2 g9 d# P/ e9 R4 @: D
抱歉,最近太忙了
$ {/ \* r% t6 d7 `- l9 A6 _
0 Y$ W: L# x& e# U" j300236 我用下面的程序试过,没问题
* {) o& `1 F% z6 {
5 g X2 J# L3 \! s你把 D:\stock\test\source 改成你导出的数据存放的目录,再试一试
. ], D6 |2 L% K/ z( K5 O% l
1 B. E4 E: h+ v$ }% p% Lcapture program drop hello# s9 \: \% ]0 ~1 m. J
; [7 h( a) E& |2 mprogram hello
' t/ k4 m- w3 f* {# T& \, N, H
% L4 s8 x" o( d/ b5 Q; r$ D quietly {
5 w( q( {6 B% K: e" R
/ l& H0 Y; e7 a, X) `6 m) O/ sclear- D, A6 k& }8 m% h! \) O
8 {( B* h- e: X( t# n
cd D:\stock\test\source2 [4 Q" @: q6 L' Y! U3 W M0 ~7 B
1 z3 ]& h, @/ I$ D& W5 t
insheet using `1'.txt) I$ G+ I: ~4 L+ A6 W
3 D- @* W6 F' z" q! R; H
keep if v5>0% ^. l& T& U' u3 f
! P. E) F+ Q8 \6 w2 t
gen vt=_n
% K5 w3 ?! {/ O7 t+ V6 Z + l8 T& ~, E* }( x. i8 T9 O
tsset vt
6 k1 ^ D: m* A0 K6 `
, q4 x& z% l8 C gen zf=D1.v5
" ?' @1 r2 L* U+ F, V, c( _! n( Q- B. y! f3 K
gsort -v1
) _! l* S7 x0 s
. D, A& e7 w: y' E4 v- X* @ gen avol=v7/v5
, o; B5 x/ S: ~
. q: j Z/ O& q! L2 x% A keep if avol>0
1 w) ~# a9 b; O o* ^
+ p) d% p4 Z5 _0 W2 ]4 W& U o0 h drop vt
2 m" R$ a9 |8 Z5 h6 s5 Z
3 l; F5 t! D2 c5 J5 w gen vt=_n( h+ @) G9 s% d: i! x2 k! k
5 ]" C3 C* s1 z& Q4 E6 V% _ tsset vt
0 u( C1 M; Z- i7 A# J S3 y & y/ n) g/ b& H0 F3 \! s
sum v5 [aw =avol]# f% n& `# t3 J& ~4 ]
" M) J0 |( A9 D
gen amean=r(mean) in 1
( l; \: X& {- w4 `% S; ?0 ^% T
1 ^" M1 ~( H5 Z; O/ H1 G * 总加权平均值 amean, z1 F. h: Z" H/ Z- i1 O. }& g B
6 @1 A" `: B; u* ~4 }: I
& p6 v, ^2 s5 t9 r
keep in 1/240
9 ~8 ^; l8 a( j' Z
4 S3 w" ~& C0 ]7 ~& G sum v5 [aw =avol]
% O _* w W3 W% B5 h$ V N, B+ t, U# {4 ?: V: `, N9 p1 y
gen mean240=r(mean) in 16 }) z# {7 L1 k6 N
! A) p9 A% A D; H2 F *240加权平均值 mean2401 p' d7 N1 Z. t
: I+ i u+ h! r3 a& T; L4 M, v set obs 500
' t5 j1 h6 C2 q& w1 K2 [5 q8 W' I
( w2 [2 |- b# ]6 b kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph
: X. A. i, J, t# L. t$ \
/ q: M8 N8 C8 R2 T* u6 e% n *240 kdensity(dx240 dy240)
2 I% E6 ]( p% d6 | C/ @' F
9 F6 w4 E" E: l sum dy240& N1 n6 U3 S5 g& X. |
$ @2 x: l3 C6 P6 A7 J, O gen yxis=r(max) in 1
0 }3 K1 F. @7 m% s+ T. Y
4 ^7 F' b2 @! v3 ~/ L7 {. E" s gen yxis2=yxis/2
M( j: Q" t) p/ b" O ' T# k3 z7 m: i9 w
*yxis
^% {, B' W: w 7 o9 h( l6 j$ h3 z) V
gen dy240max=r(max)5 {: b5 F2 I( v3 {) l5 c
6 f* S1 T) d0 a1 m
gen dy240minp=r(min)4 ?: R1 C5 a0 y
. Z0 M5 G7 W% }
gen vtt=_n
: H$ O1 [# @0 |- d! L: W& j( C' w: V4 P" ~+ z- a
tsset vtt" P) j! M9 E; h3 ]1 o7 w7 w
9 H) L- a: Z0 c; a* f0 e) ^ gen ddy240=D1.dy240/D1.dx2403 K8 a0 q0 _# ], e J0 C$ b3 Z4 l5 E+ u4 z
2 b2 o T9 X2 l; b' j$ r- r9 \ sum ddy240
$ l: L1 S3 ~) z+ p % ?3 H0 w i+ |/ L/ c
gen ddy240max=r(max): t* ^! r& ^4 X' O6 l' f: V6 b6 M( H
( U) \9 Q1 W" n* J. z gen ddy240min=r(min)- J# g H S: @ L) s
( O$ Z5 g. Q) p. K+ v gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)! e, a, ]9 `2 [4 w4 X- O
2 k. X. l) I1 w0 S% U, {! \/ W
sum ddy240g, H& y8 I, Q+ o, ^
, h/ }/ i. ~. ]& v
gen yxis3=r(min) in 1" c) S2 q) A) y4 F% h) |
* o1 M* \/ ~$ s+ h5 B gen yxis4=0 in 1+ f: M9 t% b' D4 W
1 g+ w$ X: M% C( k' D' Z1 ~2 ~, o# c *ddy240g ' P( p7 V+ H4 s( x* @
6 E& I, K! d$ Q( p6 w
! x4 }3 o* q# U% D preserve ! z7 P; y# k0 }
! d% `/ C, e& Y2 }4 I" j
sum v5 [aw =avol]
+ `* j8 l0 v0 n% P . J! H. { O7 K4 }; ~- j
keep if dx240<r(mean)
# G& T* f6 @( B: E& P' R9 u8 ?/ v
2 L0 e3 o. Z) u4 q sum ddy240
$ ~+ G7 {2 ~1 a x& D1 p% Q $ ~: F, {, p$ T1 z6 q0 V/ z6 t$ k
if r(min)<0 {+ K$ u# T R9 t/ v
3 [7 I$ ?& \% h+ _* r
keep if ddy240<=04 [% z5 z1 R7 k9 w3 e
" C, e( r* N9 n6 O. I' ` count
* @4 F! y& n. c3 [$ q
0 r7 E7 b5 u/ Y2 ~% N if r(N)>2 {
' V) {& b6 A7 s& [! X! r. s
# }4 A/ B9 ]2 w* d+ { v6 O$ a pkexamine dx240 dy240, G6 F6 W/ M. |
5 M' _9 a* T" ?2 ^* [( b* r
local tempminp=r(tomc), ~* s9 w& o6 K, ]5 ?4 I
restore
9 s$ L, P) }* {- ]- H }0 h+ y2 ?' P' Q8 j0 P. _4 [( u
; B8 K, a l* m/ }2 P
else {
+ H( j# X5 y! n* \ 8 T; r2 \$ @7 r- ]8 v) k/ D
di "cannot find minp"
9 R2 T: y+ h, Y
: f: B+ N4 `3 d9 V restore ( \* r. H, n& W: h
sum dx2409 _5 p: {( F9 Y
local tempminp=r(mean)
3 I) @6 Y* o/ |- Z- c2 j# `, r
9 u8 d2 V# Q! E; L# r5 | }
: u9 @# s% q. T; Y6 r }
# U: O3 w0 x, L7 C; h else {
2 M" E' p) t; `5 L 1 U4 P" h/ N( k0 D
keep if ddy240<=r(min)6 E2 v: _, b6 d) @. n7 x
4 }5 I' S' T$ D4 S6 F5 W
sum dx240
- c- d6 H4 d! U+ R6 W; o 4 @! I; t# n i# I9 H% a. |
local tempminp=r(min)
- U3 o' z7 L; F7 I* c restore
$ I1 a F/ _$ S. o }
4 ^ n6 U! q6 T% ~- q5 r. o# k' h4 L, d# i+ ^" p P
. Q; I- }6 l, w y7 n* C' H/ I) v1 u: Q; j; ^
gen minp=`tempminp' in 1
! E- V2 h4 U, @8 c9 q- c8 z *240 minp
1 z# ?! M+ Y) n/ q' x9 Q2 g3 A% k6 i) Z! @! ~7 g ?+ _" I" U6 H
3 i0 h6 H0 J: n. u8 Z
* a6 A/ M1 r9 ^& O8 ?( `; q preserve
, R0 m0 h+ b- Z! _, ^
* G& |) `$ \, o) l sum v5 [aw =avol]5 r" ?+ L% {7 {% L% j
2 z6 B, G( D4 u( p6 j keep if dx240>r(mean)3 z6 q% B' E: u. i9 w) I: S
4 o- q$ i/ Z$ v2 ~2 F3 } sum ddy240" K) X& a" p2 C! x
u. ] T& V* Z3 j* ^( Y0 X2 t' X
if r(max)>0 {/ V2 H& D( ?8 i u
( T {7 b1 ^' j# M5 B$ W1 u- Z
keep if ddy240>=0
$ x$ z5 ?' I/ Z+ V0 X' q
8 v& R- y" z8 Y3 {" Y. z6 R6 l count8 B1 x( n! {: g: ?; d5 L$ S
2 {3 B0 W; \6 G# i# M
if r(N)>2 {& [; g4 {6 m9 w6 n2 [
- Q8 P2 K, g+ [5 k pkexamine dx240 dy240/ L: g3 K9 J, A! ?6 a$ H3 S
$ @2 P6 F) z( ?' p3 n, v9 _
local tempmaxp=r(tomc) ' f2 |9 Z1 a4 J' i5 U+ g, k
restore 4 c# c$ n! c/ Y4 ]* q# _
}
! j6 G; Z. Z$ |2 d
0 J# T. M6 t6 {% D# ` 5 R' z) p# M7 D( Z0 d0 P
else {
5 s: H* }- f1 D( Y5 l7 t restore ; r( |5 r7 k5 v) Y4 X
di "cannot find maxp"' ^1 }# u% w7 z1 z S0 P
7 V) E( R: s5 L. P, s- \3 L" h
! w$ a$ P+ q7 X. u sum dx240
- t7 q( j3 J' D# l, y4 M local tempmaxp=r(mean)2 e8 i6 W, B; ^3 d" x
% |- G; q( L$ Q+ x }
, q8 F) a, H1 d* L. r e! X9 a5 s6 F F8 h* ~
}
, Z% m' j: E5 D4 e* S3 W
& ]5 p( k) B p) a6 q' y( z* I else {2 p0 f" O+ a1 P7 h
& a M) u0 D4 d3 U6 Q; o* q
keep if ddy240>=r(max)3 V6 R; ?' L3 C
4 N4 o: R/ a& F8 g% Q8 b" n
sum dx240
# D7 j3 D* p0 s" V5 }
. t5 @$ N4 K, w local tempmaxp=r(max) 4 N5 b; K2 `' R, Q8 L
restore
4 _$ U( n) _7 O }
p: ]) F/ O6 b
; Z. l9 h* Y+ |: e6 Q% M7 N" h/ n9 A6 l
( t7 V5 Z) w9 B' b/ ]2 N h+ F3 L8 o# `+ @
gen maxp=`tempmaxp' in 1 v' T: x* A/ ^+ v: _4 ~# \: a
, f! P$ S0 ?) ]- B6 q
*240maxp5 B' r: a$ b5 U: l4 c: I% }
- D) f ]2 y( P
) e5 b9 T: P* z6 P) q. ^. {
*-------------ddy240pminp左侧高峰值-----% g5 ]7 C$ ]1 \0 l( t- ^
7 k7 X7 H5 A# l# r3 x H
preserve
4 d1 p1 r% ?, ~3 f, r! ] ! C6 _' m6 D4 x9 x& v
keep if dx240<`tempminp'
4 B5 Z" k) ?* W/ }
2 A% ^* o/ x4 Z) ?3 U, ]3 L keep if ddy240>05 ]$ ^1 Z5 {! a* H) C r2 z
Z6 P, {; k5 j count
" k, x" y9 x, v. `& g- B
* B7 c, M# z, t0 M0 t if r(N)>2 {/ P4 z& A& A# q# s) f7 A
7 _3 v+ C. {% b- ^/ y6 e. w% {# v Q pkexamine dx240 ddy240+ a, | X X, p+ ?5 R% T
. Y- y* }1 k$ L+ N3 @
local tempminphddy240=r(tomc) " C5 K3 w# c2 E6 g
restore6 H4 `' i' u9 l% k
}+ |/ a! K' a. S
. C& X/ k, v" K" g$ K
else {7 g% ~" g% N# I$ U0 S7 U
restore
' _3 D: }) `4 [ di "cannot find pminphddy240"1 Z$ A8 B" m' g, e; _7 S) B! x
% }* p5 H6 e7 T0 s5 p4 N
: R- x& C u4 M: v- l4 @4 u: P
sum dx240
+ q; {1 s7 K# w; V9 k- j- L local tempminphddy240=r(mean) ( {( B7 b0 a" y3 h8 J+ R9 _" C! `
$ B" J& h; Q3 d x# i. Y
) r8 [9 P9 n8 G5 ?% L6 r- T
}$ b8 t& e8 y$ U# `2 y
- G% F7 j! D5 D# A: _
* Q7 c, Z% h& q" T ! N1 Y9 H) y( ]- e, q& _
9 s+ o* R v; n+ O4 K6 ^
, g% G8 H/ G5 B& l
! Z1 v' ~% E( M) \ gen pminphddy240=`tempminphddy240' in 14 E' |8 E, c0 M1 ^4 c
' J+ v. e) n% V- Z6 U' y; F 4 x# W g6 Y6 e$ u0 h9 z/ A5 [; o3 d
*-------------ddy240pminp右侧低峰值 -----------------. z' K6 V2 q, s O- i
preserve
n- M8 }) h- q: ]$ u. A
& k# ^, O. W* P% U2 R. q+ | keep if dx240>`tempminp'
, j* H: L+ l/ p+ h9 J" Y
" G8 {% {+ U6 I* }! r keep if dx240<`tempmaxp', @& n: K8 D! W& O7 @4 J8 n
5 ^# Z7 }9 R8 E7 ^8 y9 B: @ keep if ddy240<0
7 u T, I# ?4 O$ i* N9 F
2 U5 o3 g2 z* c; m gen temddy240=-ddy2402 Q5 J( Z% O9 B! u; @, s& Z7 e
2 \4 S* \. o$ s0 g9 d+ n& |
count: [. E3 C' T# r8 K9 Y; Q; l4 G
* Y6 a) @7 q' u& q& B4 q1 J
if r(N)>2 {
9 r/ ~: A4 F2 n * W. ~" I/ R0 I
pkexamine dx240 temddy240
/ E6 H' d% q: K' D2 H( @ & `1 e* s9 v$ R; |1 ` I
local tempminplddy240=r(tomc)
# |7 ~+ c7 V! [5 U restore
! J' E- y- |$ A" Z9 r7 N. a5 q }
. q- Q6 v) x* g# T$ p
5 _- l0 Z6 Y1 g0 g7 f else {
$ A) s n1 o9 M0 y- }7 | * M# b) p, t& E% Z! J
di "cannot find pminplddy240"
/ [% M/ M/ b, N) n r) e restore- C7 M) }' r+ ]/ i9 O
7 e) D8 h% [$ f! H
sum dx2401 Y% r. S- w- p$ U% z- d
local tempminplddy240=r(mean)
1 _2 g0 C. R+ E( A' L; r6 R0 ] 7 m0 D' Z# M: k9 A
% q# g6 M1 c5 p5 @ }8 t; U3 [' C: b$ b4 E
' s* I9 Z* r/ G( `/ `
/ p, D7 R. k% Q2 Z% n7 I1 ^ 0 Q& C H* Q; ?
. x% a; m G+ S- `6 K
- c% o$ z. `& A i5 L gen pminplddy240=`tempminplddy240' in 1
; V/ k: t* h2 v8 K9 f
% W1 o7 U8 ? [; m4 u! W. w% b *-------------ddy240pmaxp左侧高峰值 -------------------6 n0 F+ m: }7 {! e, r, O* p
9 E6 g4 H$ `" {6 x3 B preserve
! _3 N# c1 m6 M- L. B# z
. S8 ]- x% ?; U( B7 y keep if dx240>`tempminp'9 u2 J1 y7 j/ ?# l' {6 E7 ]
& ?' N# ?2 U9 K6 i5 m7 B9 @3 b
keep if dx240<`tempmaxp'
3 ?5 F/ M& ?" N9 c% @6 s
% U6 o1 @, Z D* D H2 o! ]7 r keep if ddy240>0( R% l- t2 T9 R% U( l
count: j- V9 i% d( m9 v; _4 K8 ?5 g' ~
7 ?9 K0 L' i' L S& y6 E" X if r(N)>2 {) H; h9 E. o. J
! M6 I+ z7 K% H# h8 K
pkexamine dx240 ddy240 K) l% L' N9 F" q. I
5 n( u/ j/ n# F local tempmaxphddy240=r(tomc)
2 S7 e- t8 n, h$ g$ G, n3 C- ]6 c5 h
/ y7 c/ v+ `1 r restore
. C5 ]3 U+ c1 o; g k# d }
- x' U0 U2 y8 d8 A. `
& Q* P0 I, r5 s% @ else {
, x9 b G# _" M1 b1 T
( @# v; H# H: D- W1 X. t, G& ? di "cannot find pmaxphddy240"' S& H9 {$ D9 ]* _8 G) ?
restore
9 p' N' l3 f/ R' A: z 4 d2 z1 A5 f+ W8 r9 J8 I
sum dx240
. z4 H/ F/ P$ X local tempmaxphddy240=r(mean)
2 H$ ?/ Q1 X1 }' h( c 0 B; O' K# v( m' A/ y
2 L* k) F( |5 O7 R1 V" n }
2 h6 b( u/ u- o& p! A1 @- E
# [- X' F: p. J5 ]: j9 R% u
- L g3 N4 ]3 A9 A7 b! _) n6 T
4 K* B' P) C6 A 3 c0 G& l) V; b. }5 r( E1 J
% X+ a. @ ~% [8 _) { 3 a, f, {, u, A( V
gen pmaxphddy240=`tempmaxphddy240' in 1
% W, f+ `2 m2 A' j+ Y ( j; P$ i/ }! _3 R6 H: D; z6 K+ |
1 R8 ]* W( ?. V$ m
*-------------ddy240pmaxp右侧低峰值 -------------------
1 ?8 o8 E& ]- r, G
3 v: N' ^" i# T$ t preserve
2 r1 K0 Y+ N9 a R1 t" t
( u9 z6 z2 Z# p. Y5 O! Z6 q g" L9 I2 i keep if dx240>`tempmaxp'" Z4 Z: [2 x/ s) `+ I
, x0 ]$ s" m7 V) E" w8 w# t
gen temddy240=-ddy240# V4 _$ D x O! s7 `( b0 B
& S; _* q: v. y' |
keep if temddy240>0 J$ R6 G$ s0 h8 z
; k5 V. I4 i; [, M) ?* z, U count
f9 e; i0 y# g9 J: Y' i
2 I. G: i! J6 Y) j- l if r(N)>2 {" m) p2 g, }! X. d9 H$ u' M# @
9 M8 _' w7 [! ?: A/ r' k) k pkexamine dx240 temddy240# P; w, N8 K% S: Y
4 ?5 B! P% y% D- W- j3 {3 y& B
local tempmaxplddy240=r(tomc)
- ^: @3 c0 B; T3 r0 I$ o( q restore8 j# }5 F2 h. T7 s* a
} v* P9 @: O, X" Q) r% z+ @
( r4 n7 t! c. s* F7 B' H+ N else {/ X% o+ c y3 ` j, w( e* n0 z4 r( S
restore
. |: D! g) V5 E' \( r di "cannot find pmaxlhddy240"; e) M8 t, r; f3 S
0 e3 c" V$ ]8 L8 Z; F ]4 Q# Q, a4 b
. a9 v Y8 ? d% d% {
sum dx240
7 z1 V9 ^% q" ~* g. u b local tempmaxplddy240=r(mean) in 1
/ e" B4 ^1 x8 N
/ b9 X; H7 Q) D+ [' x 4 U2 K. Z4 a2 `, X
}
6 j3 w. Q1 j' W0 i4 C2 ^3 |/ Z8 { 4 P. n$ ]; W2 f
" h" i* z1 ]8 I& @+ S8 x
- x) h. Y( x2 D% \! d# o
" T' ]! h' n" o8 E0 z H
# @& e! r" c8 ]! s7 g: y8 j
7 v7 B/ F% ?) @3 W+ D% O; f gen pmaxplddy240=`tempmaxphddy240' in 1
9 U2 `% M% W9 u8 d9 ]: h2 J! r% [8 @
+ W$ _- }" w9 p6 _ k/ J' `6 ?2 |+ Y *-------------------------------------8 _8 f: m4 E- @8 h! J+ z
! U* y3 q4 @' m; {3 y gen price5d=v5 in 1/200 a- b' W4 w7 m" Y
7 L5 u" z L; k/ Y gen price5yy=_n in 1/20# M: a, G8 W0 o
) `1 Q; [, ]/ f' ?3 E0 Q
gen price5y=price5yy*(dy240max-dy240min)/205 J' B5 W; G- q
8 x8 T' I6 M6 q( X# G% W6 P% t
*price5y &price5d" E z* d9 Y, n, p/ k
. D. X! N* A g
gen priceny=price5y in 1
" r5 P9 T2 X2 ?( R9 O: w: I- h+ O
- g" |+ G. U. o0 f: Q gen pricen=v5 in 1' Y1 h( v% L# [ e: |
6 j: `) p7 q' ^
) Z" b, k. T* x2 X *priceny &pricen/ y; y# t! T4 A( E) l) |5 X
! {$ M6 J p! U4 H7 z
& B9 H/ E5 Y4 L' I0 c* n3 ^; l4 e *-------------------------graph------------------
) k' i5 X4 a8 B, K5 Y# y 8 E1 G- b' Y V- h& z K! ~) o
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)/ }! I! h/ u5 P. c
! D, R5 c* _( J1 Q* ---------可选项目----------------------
- g: l( I( _) T*(spike yxis amean,lc(blue))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean))/ ^9 M. ^6 J4 k0 Y9 P) |
}
( B- j- O1 ^) Qend# z7 h T5 i3 u9 h* Q: k" I
|
|