|
|
maodeng 发表于 2013-1-28 13:13 5 O q! t+ a( M% ]+ T6 Y/ p: c- m8 |
. hello 300236
* ?$ n! Y! T: w2 z( H8 Hstatement out of context9 y+ N3 s% ^3 \4 S/ ~+ Q1 M
r(119); 6 x7 M+ H* z8 r4 t, s
抱歉,最近太忙了
. l2 U9 W. W: F' m6 P9 f7 F" l- p6 j1 w/ O; f
300236 我用下面的程序试过,没问题6 W3 a, Y) [- C) Y7 |
& g& y/ w- t' i4 ]8 I
你把 D:\stock\test\source 改成你导出的数据存放的目录,再试一试- G, V# s3 }. O0 @" U; i5 A
! i* i- G$ `1 Zcapture program drop hello* J# F1 C& W8 f* }. _$ l
. b9 l( N+ j: e
program hello
/ X" t( S+ f; _ T t/ [2 I- h
9 x# l# ]& Y" o( I1 ], K8 f quietly {6 t- c/ {$ v3 E$ P: V
) l; z, H: n" @( O v
clear* z, y+ _: w* }4 i
: h0 n: l7 R7 |) N0 U8 V
cd D:\stock\test\source4 R2 S" f8 x7 t- D
/ H) P+ m: E8 j# N+ t$ ^$ U5 o& c
insheet using `1'.txt
- N" X5 F) P, ?# _+ y, M) t2 O4 r3 I U
keep if v5>0: h- r. P6 Z$ h! F+ F4 {$ B
- r8 ]+ w; z& F7 r2 U3 o5 {
gen vt=_n
3 u+ m O& R4 @8 {6 G; @& v
; n; y$ ]0 k; ~+ ]: X' n: ~ tsset vt
! A+ P: u4 F" s9 A" h; t! I8 A7 F
* ^ ~9 N( W& [, C/ Z: A: X! c gen zf=D1.v5& A/ o) |7 u4 J$ B. T
! s% z6 B7 Y0 B8 D) ^1 c5 G
gsort -v15 F/ Q9 ^ [* s0 _2 N6 T7 L
6 e. U6 N2 z4 U, p1 k* ?4 s2 z6 L9 ^ gen avol=v7/v50 [( |* y' ^5 W
- u: S: @8 \$ l! Z% G: W9 r keep if avol>0$ p( S, z; H5 v9 C0 r' m% c
4 ]' O0 ?" v" J5 W0 `6 n8 B drop vt) H7 W9 d* C3 v: [. Y* c
& c+ l$ y6 }- U9 c8 x y2 B
gen vt=_n
0 n1 D4 _* N+ x. n' ^1 ]/ u% Z# V 7 ^6 ^% M7 }" c
tsset vt
5 l7 p& u3 x$ \6 l8 l / m: B3 G" }6 D0 p# J) }
sum v5 [aw =avol] M1 l9 K. `" r; O
2 O; r5 |3 U+ F. k- y6 { gen amean=r(mean) in 14 \% k; y% ^+ }$ ?) @0 j
" T- K+ f$ H4 m$ C0 P! P * 总加权平均值 amean2 Y) T( g* a6 b6 O% ?3 k6 W. _
, t9 ^9 b2 ]# F" D# o# Z9 @& e
; }) `0 G' N- ^* k- F keep in 1/240
: r! p" `- Q& h+ Y" B
0 N# Q6 F& p* |4 H$ T; S! r sum v5 [aw =avol]
0 s2 L4 s/ `; `) r c; b2 C3 N: J* U# B' m' Q
gen mean240=r(mean) in 1; Q& O9 K* m+ s3 v/ v9 f" `. u) t
* d Z! @6 Z% e) R/ L; p) } *240加权平均值 mean240
0 c7 {8 s. W# T/ E ! r U/ v0 O$ `4 r
set obs 500 & }; P/ b' N; ]1 ?0 r
, `/ v( D2 T* W+ ^. `( A2 t' e kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph
) }5 e7 v- A9 k& C% Z9 h
# V" P7 M& T/ A" r2 m* [ *240 kdensity(dx240 dy240); @ \& _6 k+ y3 J4 u" j
7 D. T. O) e5 A: O
sum dy2400 f/ Y2 h! t, }# W; Z
$ Q" x# C, t8 C# D6 B
gen yxis=r(max) in 18 P. Y- ^3 Z0 V& W6 A" Q
& \* L/ Q: ~! i. O# z n) Z gen yxis2=yxis/2
' E( Q6 [% {6 v2 x+ O8 g+ e+ k
, i! a0 k2 F( l5 C9 e1 J *yxis1 @" h( R$ O! Z+ G" L7 Q
2 N5 e- K# l1 P, }: g$ I
gen dy240max=r(max)
* b& S" S: V+ f+ i) ~
7 v1 x3 ~' I* \. `" U gen dy240minp=r(min)8 U9 Y( o6 j& g( P8 @: S
. z; w# i+ }9 ] gen vtt=_n
: f: P# p% _: N k+ @/ [4 p
1 c% o6 b" E! E1 j N, W" ]' H tsset vtt
5 X/ R9 }' b. ?7 @' z% c3 ~# j' y O' G& z
gen ddy240=D1.dy240/D1.dx2405 j4 k. \8 `8 Z2 u+ a
w& H/ R# n; f' y4 _: K sum ddy240
" L' i) H- X% { y $ d4 }/ j3 O, y6 W2 @. ]
gen ddy240max=r(max); E% ]( O$ L4 Q+ R ?$ }/ p9 z
' L W+ y- w Q, ?* d: r5 V gen ddy240min=r(min)
# C# X( X* D/ M1 e# q# `" c5 h% M
5 W9 E2 ~9 C, Y gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)7 |9 T! V% _7 j) q" c
3 p1 `. G/ L" l H: a# x% W sum ddy240g
+ d" ^1 G" B# F* f' X % ^9 ]$ l* f7 d2 g1 H
gen yxis3=r(min) in 1
; w) h$ X$ e# o4 f) E5 a
. D' M1 b: }& x; y1 _% G! c gen yxis4=0 in 18 x% Z$ o* @4 e
* {2 X, O$ l. Y) D
*ddy240g
. _5 F7 R& r( b. p2 N& O + p5 n# n& g j2 Z; b
$ w# i3 X6 u+ Q4 I! c# X preserve
. y; B5 B2 v5 i& Z2 i3 o) ^
6 j1 o5 s: d0 j, _8 [' g) Z sum v5 [aw =avol]
8 G/ b; e2 k2 \; ~. O + c8 s# k8 R( z0 l$ Y0 C
keep if dx240<r(mean)* Z2 l! n" b- q( ~; i: [8 U
8 w3 @) L( x: x0 {0 \
sum ddy240: w6 f% |% @1 T" u$ F0 w% e
2 p! K* r: L6 F. A' Z if r(min)<0 {6 U' p0 {# ] d& Q" Z
3 h) S' d! T6 d! } keep if ddy240<=0# v3 l: e" L) H' A% {+ y/ g4 _
) s: C' B. C" P
count- f/ J! W# J9 o" L e
1 D, n* w+ y3 J$ L N$ V2 K% U
if r(N)>2 {" E6 {* t; j# F$ p3 Q; K
4 Y% j$ w1 w3 I( d% D- Z, W9 X: G/ ^
pkexamine dx240 dy240* N4 M" `0 m, _" j, ~+ H
3 u. c& ]+ E; u; n3 a& { local tempminp=r(tomc)4 a; U# E) t1 x" o
restore
7 H- f9 R' N1 @8 J7 |5 n0 a }
, S: N2 p3 a) R% { R. V ]
% L7 X8 E& `& q4 |. ]) f else {
+ d6 J1 B5 y5 ?: Y2 n4 C6 n
9 ]2 `4 ]" s5 S% {4 a di "cannot find minp". l+ r0 ^* \/ k+ G& L
% N4 o& W" R* {9 x
restore
. B4 j" U+ x: B# O+ u- j- c sum dx240: D4 c- Y4 Z4 z! N( a8 F6 `
local tempminp=r(mean)/ ~* [, W5 T! y9 [5 B" m& }
. G; @2 }7 Y3 d- o& }
}
8 ~% V3 l# ], `+ s3 \* u }
9 M) ? K9 T' G% R2 \ a else {. t/ H/ p5 a k# D6 s/ g$ N
5 i: C( J7 Z3 G
keep if ddy240<=r(min)
! `/ v( o; b1 O+ Z
% t6 s# J2 j8 s: `$ \" K5 m sum dx2400 F0 C- {7 p8 }+ Z: m9 B2 n6 u
! {3 `/ w% D3 c) b local tempminp=r(min): z6 V, @+ Q' G* u
restore
5 G3 ~ a5 e7 g: O+ H2 @$ U }
8 F% w4 u- B6 g6 G( B$ {1 {" v/ }2 m9 A/ h( E5 Y
# k, G! b, V ^0 h6 Y, ]7 `, i7 }4 t* F
gen minp=`tempminp' in 1
! S' `0 X u d; E *240 minp
' V! K% `* E6 f3 x! A6 T- {* v6 G& V: K. F$ u
& j# W' d1 d! n4 v: p
* C% P3 z" K2 M; i; t+ H preserve : z0 L0 ~3 ?, I y
; K3 F" _3 C3 ]5 _ sum v5 [aw =avol]
, T7 D5 X, l. X! v+ k 4 n `) w4 V$ a t# Y" a8 l* o
keep if dx240>r(mean)' T# x! C; I* h; s+ s
9 |7 E' b6 n9 f$ e' | sum ddy2402 t2 L% v7 Z" v( b# l
0 h) \3 w9 S0 j9 G K2 c% Z8 b1 Q
if r(max)>0 {
2 R6 D: w1 C* t! v% s6 I0 m
. R N# ^0 i% r7 S( ?* g! ` keep if ddy240>=0
* s$ T" J) M" E+ `+ d5 d
# t: g/ w4 u: y. X count6 u4 `3 f$ Y, `& J9 R
; {) p; B2 G, h' Q2 Y& P( ^2 J
if r(N)>2 {2 {) o9 @0 N e( N
, \! y/ D. I# }5 S7 O) D, F
pkexamine dx240 dy240
' a2 q: O8 b8 m; j 2 r5 p1 U- w+ i1 P$ Z
local tempmaxp=r(tomc)
' G5 O1 M7 d h2 I9 ~& `2 r restore
1 D% Q0 i3 A# ~9 C( O8 ` }: q7 K9 E( n% k
8 @* l4 h$ i, }1 N0 D3 n! B
4 }& S! ~2 m& K
else {
) b4 h V7 V( H+ y. o1 \ restore ! N( N( F! Z& m& p
di "cannot find maxp"
! A( m" L: I' a+ W
+ ?# P9 H/ ]) q% [ 9 t5 Z" B' j2 g6 X( Z- |" r1 k; K
sum dx2408 J7 I# d$ J# `8 i% X9 h/ L8 c7 b
local tempmaxp=r(mean)/ O/ `8 \; p3 t- j
' w* V2 T; l/ n
}: ]. \( O+ p* ?
8 J4 I( Y. _' @( Q0 f9 n
}
. P$ i" f8 \' J( e. i* D8 o- p 1 x7 ]7 Z8 z6 _/ k6 v$ r" \
else {
a% E& q+ X. B C
) l. ~( \7 ?. q1 e3 ?7 o) m keep if ddy240>=r(max)5 F; Q; x4 c X ~ Y4 b* P4 }8 T
* s8 f6 |( R' A) d3 T( |0 |/ B sum dx2408 t0 ]4 x& `" z, P! F8 b/ |
7 m8 i: |# {( u8 Z; Q V _1 G( u local tempmaxp=r(max) $ p2 _2 U& m# r+ s! H% ^
restore
. ~& A. C" T, f( L; k6 F9 X. Z }: X: C4 M! O3 C7 o4 u3 u- j
x$ T" h& q; e. D# e! P
. E/ B' K8 ]* L0 g, x & Y3 o/ ^" ~: D: ~
: G6 u4 W, c% }
gen maxp=`tempmaxp' in 1
7 B$ y% c+ q; p, o4 H- r/ A
9 R3 `! `( }# j- F+ G& q- C *240maxp# J: X# |( c' L& Z4 k3 L# G4 D6 x
6 S! L6 [/ x* ^! F8 G# b & p7 i6 z7 c. H5 s/ B A
*-------------ddy240pminp左侧高峰值-----
- N1 I! z8 l8 O% D. k& p9 j
3 q' m, n" {# Z3 b1 i8 U, Y/ p$ Y/ ]3 ~ preserve - q* f# k9 H" D3 g% h" a9 X5 h
9 _) {- }( u- n; ^
keep if dx240<`tempminp'" Y; E3 f2 ~: _" w/ v
- d- \5 S* M2 D keep if ddy240>0/ Q7 S9 W* g+ \
2 }) M# z2 y; t1 t5 m! ~3 P" k
count E, {2 B% _) i0 g
% O, P; D. ]: S' t/ Y# ]
if r(N)>2 {8 R1 s; ~( P, N# d- _4 S: A+ o2 w
W+ D8 Z$ h! W
pkexamine dx240 ddy240
0 n/ M8 V/ j1 }: R1 p: S9 O' Z
% x7 ?8 q& w0 Q& W local tempminphddy240=r(tomc)
3 i& N( K; F0 H( z, D restore( Y! S& \4 \0 X0 H! a
}
) X/ G5 i+ F6 ~1 b 0 w: s4 p, r, q8 p7 e7 b- G
else {2 y6 T2 L5 J( f! y" o$ J' h) C
restore 9 x7 U1 e: \* E! S, k9 i
di "cannot find pminphddy240"
, L, F& p, q0 ~6 W. N
: R% q3 A& C6 w! i - ?: }- t, P) I/ e. b1 ?
sum dx240$ E. h2 Y0 S5 x/ w) H$ h
local tempminphddy240=r(mean)
0 v. Q. f' M2 C- t& f* j% e* u : l- j1 R/ k& M# X& v# l
7 V% E! d# O7 c+ {
}* e! u* N( F: @
8 G, d, Q1 L4 V0 L7 u
( Z* [3 o) x7 ?0 u* }
3 I$ U) M6 d2 z5 x' @* H& Q
: O$ y, D% n5 b. U# T7 @' q / H1 T9 V2 M" x9 o1 r
: j& X+ ?6 A! A, p! F! r, T% m
gen pminphddy240=`tempminphddy240' in 19 \% h, v/ C( e s& x" y
& e( D% B; V4 ]: i) b! [; X / g. b* t& E$ G, S. K+ u! l
*-------------ddy240pminp右侧低峰值 -----------------
5 H; ]( |7 R- }3 V) l# U0 F preserve 7 b6 V+ S( I' l# G$ F" [0 ^
: f$ d# F, Q* Z
keep if dx240>`tempminp'
+ v; z9 f- i' q+ \. j1 l8 k( j 0 e! F" z5 ~, }* r1 y/ v* J
keep if dx240<`tempmaxp'1 o) K# t8 r% ?5 J- u" P
. n- z9 z/ i4 z* v7 }( Z" P d @4 G keep if ddy240<0
, @) F2 `! X5 d: L9 J 3 e9 R1 w/ e, r$ c$ u2 o
gen temddy240=-ddy240% M. }8 h, h* g0 R; Q4 e o; ]
% S) F+ T3 c9 y6 x. N count
( E, |7 [8 p. K' T& L/ {
' a' l* w. `# d1 h" X" I" H$ u3 z if r(N)>2 {, U6 |, l& @- X* k" }
# w. ~' c2 A' h
pkexamine dx240 temddy2403 [/ O) R) b& y+ Y/ f1 U: o, B
5 O6 A" p) c( g% @4 Q
local tempminplddy240=r(tomc)
; _/ p5 {0 d; R: j restore1 N+ r4 i# G1 Z, v ^2 _6 h
}
' n$ v% `( \8 ~) M) |: n
) \, ^' @. q; n# Z3 I* \ else {/ c* S9 Z3 G2 T$ o% O' X6 n
z- x- }: w& s di "cannot find pminplddy240", g- v" B, Y) }# j: P* S) u c" e
restore
/ O; G: U4 G/ p+ e: [1 A4 [
) d& l. h6 P& k2 O sum dx240: O5 H( P- ?, \
local tempminplddy240=r(mean)
2 r- _5 f7 a+ Z# s5 |# p
' R& @" Y8 O; C5 T9 ^9 Q/ c - q- u, {" ~6 Q& z( n
}
! Z/ g8 B, C# @1 F
& \- s/ V4 r6 M$ R2 `) y5 k
( A9 F6 b' a* v* l% }6 n% U) w
% C9 ~2 O) v1 F/ m0 A
- E% Q/ h9 E5 d- V) d* x
; g$ Q; o: I0 C7 O# A* V, D l gen pminplddy240=`tempminplddy240' in 1
9 n8 G& r' b. N' b l$ S) B, O
7 Z0 D& C y4 ~# o' T7 D *-------------ddy240pmaxp左侧高峰值 -------------------
7 x7 G& h9 y5 S. b6 w3 z! W
, b8 d5 ], n5 |. ?, y preserve
J4 q) S. [- W' t
+ Z D1 G6 u2 i' F) s3 m keep if dx240>`tempminp'
4 ~! p6 S; r$ G5 o: h1 P: Q 8 f! O9 h0 y8 k) P1 A! _" d& {8 t
keep if dx240<`tempmaxp'# s! Y2 E/ M2 O. b
+ `9 }' l; t& |# A5 k, f4 @0 J keep if ddy240>0) K2 T' |9 a3 l. z% F/ h8 C& G
count
6 T: ]$ O7 e( z& l1 U4 M( a 0 X9 a( j" i4 n
if r(N)>2 {
; Z3 h" z7 S2 n0 n1 J/ V
6 `' p+ e) ~2 W/ S1 j- ` pkexamine dx240 ddy240
1 K$ L7 Q M2 U. b6 e 3 z' E U, b! c* O: X# [% K
local tempmaxphddy240=r(tomc) # P7 S( \* I& ?* [' p
( N1 I, o- Q, S6 a2 A. s restore; q. p# d6 Q. ]) e( c
}
3 k! B4 y( ?1 D# I6 V0 ~2 k" @- t : V( f) Y2 p% O6 [
else {9 X4 W0 z- V" g
; K3 s* o+ H7 N ]6 M: W di "cannot find pmaxphddy240"
: a6 N! Y% A/ o' x7 {5 Y( _4 f u restore
l9 o3 E0 L. ]3 I. E9 [1 C; E: m
8 u6 m/ X4 T- `( Z. i* V4 y: D4 W' W sum dx240
7 Q* y. q7 S8 _$ ?: B$ Q local tempmaxphddy240=r(mean)
* p2 O& N$ h. } 0 W4 h! N1 Q' Q
! l% K8 v6 z. [5 ], }7 c7 M% N$ V
}. G# P8 @- g2 g4 p/ ?
/ G$ |/ V8 S6 s
7 b) [0 K. U# [' f/ z7 D 6 _2 ]5 w/ l0 Z0 e8 {, t; o' r+ I# ]
- g* h9 W2 l, ~ % z% j# C* o* ]& R
; p \) C8 O6 X6 ~: V! b
gen pmaxphddy240=`tempmaxphddy240' in 1# l9 \/ x* ?5 X( @0 k, S
! k2 L/ I# `$ K, M
% p' A" e$ s3 J% r% F7 s/ x *-------------ddy240pmaxp右侧低峰值 -------------------
, F1 D3 U" l1 y A n9 ]
4 Q- C9 u) {8 Y3 r preserve 1 E( g K7 w A5 x2 ], }' o
* }7 k% n) Y6 ] keep if dx240>`tempmaxp'& C* a5 I, d: [: ~9 X' V% ?8 s
/ R* J F& i, S6 [+ A* y/ c
gen temddy240=-ddy240
0 ^) Q! x; f ^) t, W7 m: r
" i" W5 P: w* i W9 I# f keep if temddy240>0
$ x5 N1 O1 r6 q
5 g# D' {) D# n" O z4 X/ {- x count
0 ], U* B1 r! I5 l
; X( M/ X( O1 _3 u o+ D/ B if r(N)>2 {+ C$ T, s3 E" F+ f, L N2 [, e. T
* d; I. n8 Y x% e pkexamine dx240 temddy240
2 z- o4 k. A3 I$ p. i3 _ c) N
6 u0 e1 _2 ~3 F local tempmaxplddy240=r(tomc)
/ v6 q P& y# q restore l* w( c+ W2 T* a- v7 ^. a
}
1 U5 T, T$ N' _$ q. I% j 1 w, T/ c. q3 y* m; y0 u8 A
else {5 l0 [& n9 \5 S4 D u* @7 W
restore
" l- O2 `/ w) {: q di "cannot find pmaxlhddy240"9 @$ ]* T; v$ p/ w9 l% X5 |! Z& e
/ x' L8 P) A* J- ^% ]+ N ; B6 F: u G1 Y' [/ M5 \- h
sum dx240
2 n5 B% {+ ^1 }. Y local tempmaxplddy240=r(mean) in 1
, S3 O r0 l; m' t
/ [ ^7 v$ M( W2 a
4 j% H$ j- @" u! `2 G) s, H }5 u' ^/ ^( C9 J. O
# w, j& Y, J3 m5 [) ]4 C 1 ^4 ~+ {0 q# c$ o
: Q: J, j5 B- g
6 G+ l- N y. ~# b/ V2 ~0 U
* a' ?/ Z0 h& s) M( k1 S, e; l
$ W1 G" m5 M, T+ a: a4 B gen pmaxplddy240=`tempmaxphddy240' in 1! F" J L7 A4 e( i* M5 R
1 n6 L' Q* @1 b3 Y* D# \
*-------------------------------------, C+ ^! M1 Q+ K( z& e9 a
* R4 h% v: h4 J0 |
gen price5d=v5 in 1/20- s/ T. G" [ e1 r
' X F; K* D+ ^% B6 I f
gen price5yy=_n in 1/20: x1 t; r7 K. p/ c: W, F4 D. P! j
$ _9 T1 H6 V) h$ c8 w# o gen price5y=price5yy*(dy240max-dy240min)/20
F1 q" J7 f, d# q1 `1 ^5 N
( e; w W3 ]) z9 ~ *price5y &price5d
6 n2 K6 k( B2 ? 2 B" ?( `% _+ o, ?9 Q1 l
gen priceny=price5y in 1
7 n8 X1 b6 N. c, {" T$ o& @( C 5 j; R) `* M! ]5 m6 R3 M
gen pricen=v5 in 1
6 {; g% C+ p7 g- W* p
, r. t/ o# E; Y* A; `( k% b" e+ o . } e I: e. T/ u1 L3 A4 i7 G
*priceny &pricen9 x0 h) }! {6 ?' G9 n
3 h3 V0 h& A4 |$ K
$ s4 C2 A' W7 o% I2 k *-------------------------graph------------------* _8 G) d/ q, f
) t. D# z& k% @$ s 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)7 _) Z$ _ l6 t) Q# c" R
, P2 i0 |+ z" z. c7 U2 K* ---------可选项目----------------------5 q1 m/ K( @! J" a( N1 J# q
*(spike yxis amean,lc(blue))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean))+ Y: Q v; n" H1 @4 N. L8 u: w" A
}
2 ]" A% j7 F. y. Z" pend2 W7 h* w" H( f5 [/ w: g3 L
|
|