|
maodeng 发表于 2013-1-28 13:13 ![]()
1 o) k% ]6 e7 Q5 k, Y. hello 300236
& Q" b0 H, n# V9 \statement out of context
; A5 ~7 g2 {# G4 g# ]2 n/ {r(119); & F7 ?- J$ P5 k* C+ j }
抱歉,最近太忙了
5 e$ R/ b @+ @& F( J# ^
$ t8 t! _# V! R. ~300236 我用下面的程序试过,没问题/ B4 g4 g- x( D9 t- H
8 L" d$ r+ \8 \# w' r7 ], c
你把 D:\stock\test\source 改成你导出的数据存放的目录,再试一试8 y# a/ g2 ]$ K8 o0 s
1 l) S& F- g4 Z+ E& Ccapture program drop hello
3 b8 `3 O4 ]1 r7 S8 R v1 q, J; k# o: M% d# p8 K' ?4 H# c" J
program hello
; v+ `$ b. V1 I, z
1 e( W5 M* Z7 k- z! Z0 w! u quietly {2 f: m+ S. Q7 q
" G4 I% G2 t* Y3 v J* d1 eclear
0 }% @ W% |$ @. N3 @# A- S( n- f" _! h- u% r' I2 O( n4 h/ F) t
cd D:\stock\test\source- r3 I0 M& [; n
7 {& z {4 g ]- W4 f1 ainsheet using `1'.txt
8 z& V0 k. c* L+ o% w2 |7 S4 d+ M5 ]) Z. @# l$ _# ~9 z
keep if v5>0
# l0 H1 l7 R% d) p% w6 x
: h& K4 n: y D6 \' `; {: q gen vt=_n- f1 q) O: c& v7 ?* c! T/ P- D
+ ]; o2 \% i6 y; K9 M3 x5 J
tsset vt% a: W9 O# J* R+ o! c4 m
, B- W. w5 T; y3 a/ R gen zf=D1.v5
$ n( u6 K8 U( ~* |
/ G; P7 b* ~1 _. s$ f8 \; M gsort -v1# r5 c! _ F. O6 \9 I, ` f
7 ?* |* S' k! F, n% q( o gen avol=v7/v5
/ H$ t5 |* O1 X9 _! ~
^+ c9 b: [9 ]) w; L$ F: W; a keep if avol>0( F( s9 s7 n# a6 {7 }& S5 W* t
) {5 T9 ?0 x- @' ^
drop vt
8 Z+ ?5 o2 G9 Y& v3 ? : d7 a& B- }- J* g
gen vt=_n. z# @! h3 o6 F6 n& X4 A6 o e. b3 E
3 Y9 c8 j# c; Y" Q8 L- z
tsset vt
5 h: h: x6 S, s: o
7 w3 j- k: P" H, ?0 ?$ Y sum v5 [aw =avol]
! K% d0 F6 ?' H& Z& E5 D# g/ E
9 B8 p: M) z. V1 k gen amean=r(mean) in 1
' l$ }" {5 r+ O; M ( G- O7 J1 a2 B) x h, c. ] e% A
* 总加权平均值 amean2 |) w: j; ?9 D8 S9 g" z* X4 B
i3 y/ t ^( X! K' A: E2 A
2 p# q/ {( [! V3 R keep in 1/240
. _4 H. M& j; K, r/ k4 f* Y4 M& W+ G, [- v' \9 r( Q, h
sum v5 [aw =avol]
+ J% S9 ?# E$ U: e
9 a+ L) R& {4 W gen mean240=r(mean) in 1' E2 B8 m: @) g2 ?
; Q2 q& u+ z$ ~4 {# j+ u7 A *240加权平均值 mean240
, G, Y9 W) [9 S0 z9 s* ^
& k# u: b( n# `6 z set obs 500
; z. T3 ?# h! u% i5 W
* B/ Q. J* e; Y% t4 P6 u3 {7 N kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph! X4 L! v- F, T0 h4 M5 \2 k
; z& N# p f2 x4 E. J$ t5 ]
*240 kdensity(dx240 dy240)# l, X! a0 u2 d0 m; c. A
& b2 n3 k0 V4 C: O sum dy240' N) y" |) P9 J7 g# L
5 [& P+ n/ l0 a1 w# N( c# ?1 _ g gen yxis=r(max) in 17 n) k; f* d$ H
' d: \) T/ y0 R+ j9 n! V0 M4 Y# N+ ~
gen yxis2=yxis/2( i s { V# O" A |5 i
8 S4 G- m. ]8 s& j! g7 T *yxis6 M. @( I% i0 j; c- t
7 l: f* [6 z7 p1 \9 S' N& E% R gen dy240max=r(max)% u3 T* i g1 q$ |( ?+ @2 [
* i4 Q1 y- |# d: e( k( Z$ k# n& t0 \* l0 l, a gen dy240minp=r(min)$ |- K5 R7 W1 E2 Z5 v9 O
% W7 q$ F! `" M) h$ U gen vtt=_n
6 P8 z9 o$ V" O
& ]9 Y6 L" D" e( t, c5 _; x1 N1 p tsset vtt# z" f! ]6 _% r5 R2 p) ]& H
( z( F7 F( ^' [9 q, e3 g' e- w7 j gen ddy240=D1.dy240/D1.dx240: t% D% H9 y6 ]( W( S; v/ {1 K
7 K+ b' m$ a/ U1 ~+ ]: P sum ddy240/ i8 M9 z' u5 d" Z
# a$ B: V: ~: f* u$ ~8 a8 }' _ gen ddy240max=r(max)
& c3 P/ A. {* T$ U8 z
' ^% a! G! _, V. k/ r gen ddy240min=r(min)
* i4 q8 u1 i( [7 i , I! p! W* V. Y$ p7 B: L
gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)( {# P7 p: C: L. ]8 J
5 u4 v3 [+ K c- M0 W9 X sum ddy240g0 P# A1 ]" P7 H! B/ N
0 F8 q2 P3 W2 \9 O
gen yxis3=r(min) in 1
$ n7 M0 V6 ~; |5 }" A+ d - @" K; \/ c8 n
gen yxis4=0 in 1 j4 |$ o- b8 t
5 u. K6 p3 N6 q: C7 Q8 ~
*ddy240g + I$ n d, j; @6 T
" D9 F% F* D& C
, L( k' [9 @) V
preserve
) P. u# h$ I# e / n% r7 ^) Z2 ~! c5 a ]- I5 C
sum v5 [aw =avol]
5 ]9 e( e4 M$ v 9 S: V1 U8 V' G8 S
keep if dx240<r(mean)
$ b. l* _0 ~/ n) k/ f 6 R+ B& K+ o1 x& M
sum ddy240 E1 A5 J) V( Q3 i& ]; J4 t5 ]
6 ~3 E2 w# X9 U) y" z* e2 p) F if r(min)<0 {# e, }" n" \) f
" `. V2 U5 C g; }
keep if ddy240<=0
2 u5 j7 L6 e \
& Z0 G9 d6 A* |( V. T6 |. P$ W; ] count
1 U3 a! s( i! o8 j
! P) R/ f: _ L1 _* z if r(N)>2 {/ ?! J% [: d' V: |' Z
9 [+ O; Y$ b( e2 ~- X: K0 _ pkexamine dx240 dy2407 k) s+ n/ L; b( \ M9 n1 o$ ]
5 m3 L$ L0 T, y3 m+ i
local tempminp=r(tomc)& _" F$ S/ Z2 t1 |% ?
restore * E' x( o' ]$ ]( {, E
}
0 h2 V: i7 b( F3 r, U + Q' N) r2 t: e$ n# G. Z. ^; R
else {( {/ c6 J. ]/ I) V5 l. @5 K) i
& _) G- h8 V; h4 j# X+ @/ e& Q$ k
di "cannot find minp"
. b* [: f H" Y : m8 n6 R$ f: Z; Z: F- S6 e
restore 5 r3 w' d/ L# s! F
sum dx240
" O q& D" B9 c local tempminp=r(mean)' _8 u8 ] y0 j; m; t, e
$ X U! ?7 f* F# Y! f2 |
}
4 p4 N, w' f- j }# @" }. w! l2 I& Q1 `- e
else {" C$ {" D1 C. e" G
0 Q3 q! a$ H0 ?5 \ keep if ddy240<=r(min)
# ^) N8 r# [% H1 D
1 M2 w! C: ~7 \2 G$ w sum dx240! A. S9 j K4 F$ F3 [
; j, @) r8 Q) F1 F& Q local tempminp=r(min)
/ A9 T8 N4 V9 \( \) v# U. c$ { restore / W6 B; o5 @. [& ]
}9 r; _/ |" O! g
G' u- g4 E, |. H3 k: o
: ?4 I0 q- k, A. N
7 l9 w) v2 Z9 }* } A gen minp=`tempminp' in 1
# @; S% w& t1 j( |" c g% K- O' k6 u *240 minp/ W! y$ T) V2 b3 D5 x/ }0 h' |
9 C/ }/ c8 p7 v* Y
, [3 p4 I/ f6 F) P, O
) w5 E9 s, L$ J9 Q/ R preserve ( M, M' d, @/ K; o+ [
7 W5 F: {) g( y$ M9 n sum v5 [aw =avol]
; U ]- n) d% Y" Y, J5 v' J5 c- d& ]
# e; E4 G" S. ` keep if dx240>r(mean) c9 K ?# u$ w7 J) o5 G# ]) F+ m
4 O1 A3 [3 v7 h# |
sum ddy240
! \" b' O; v3 W4 L# v8 l
4 A$ a6 N; j: i if r(max)>0 {0 i8 H8 `. P6 F2 ]) `
* ?% N" M. G+ O, g& k' D
keep if ddy240>=0( K4 s9 v/ c5 w3 j: T+ f* |& W
) V4 S) k5 X- L6 {% l2 T3 K
count; n2 y6 f* m5 [0 w
' \9 L+ q% p& i% K- B4 j0 ^
if r(N)>2 {# ?5 W4 q: m% M5 w0 ^
5 y1 S2 Y( C' y. B" D6 w6 c
pkexamine dx240 dy2404 e3 \( q1 K- N4 G
8 o7 X5 L, n, O2 D
local tempmaxp=r(tomc) * C2 g- `9 ?3 B1 E
restore ; F0 m6 n! z- G8 |
}
4 j) [( _1 R# q9 k# Y( n1 R
2 E/ n- [! j' L( R& R8 E5 Y
0 h* A& w" O6 p u else {
- Q9 w: \* b' g1 b% ^) [8 ^: ^ restore * I$ ?& S3 T" Y1 T
di "cannot find maxp"
) f" K# S7 p3 s! G$ B1 @& W 5 X, Z7 p% d3 H) p: U, F6 U9 K& |
. g% ]7 w ?. G+ Y/ C$ M+ c1 D
sum dx240
3 W* r' \& J& N3 F' q0 C! n5 t1 F local tempmaxp=r(mean)
$ l3 _- e& Y! j& h. L4 I$ v- O
$ t' T# _8 B/ p5 T& f }
) O3 d5 y9 U' ?8 Y7 y3 C : K, `, W, _0 |9 c. ^
}
8 y8 I7 U% `* C& k8 y: Y V2 j
$ o. Q( Y" a, ~6 `* ~: i else {
: v6 n) ~; N. ^. P1 \. u/ u
D2 ?$ }7 H; W; O" K keep if ddy240>=r(max)
7 O. x9 `& [, S" S; D& g s
( ^7 r) Y% u3 a9 \ _ sum dx240* w5 T- s. f u+ h, p* R: j0 d
+ W& }% b) M) x! t! I' C/ [. V local tempmaxp=r(max) 3 R8 ?* n. j- Q k
restore " y e" t0 T, ], j) W
}" k8 p h/ d/ |- M( x" g
# Z/ f9 \$ e$ |1 N2 U) T& I/ W' n7 v1 M
2 R7 @( [: ?: ]- y- J
, Q3 |( b$ }; g& c8 U" [ gen maxp=`tempmaxp' in 1
, n+ J& b" C. ]* E
- [$ q7 t1 T3 m" S1 S5 p6 t, X, { *240maxp
9 L9 T: e0 G5 n ? 1 U. G3 d. \6 Z3 y$ W2 d* u; O
o' i/ ]$ {- y) x0 A *-------------ddy240pminp左侧高峰值-----3 G' Y( ~+ Q |1 V
% Y- w1 [6 R7 X! ^5 }8 R2 |; v/ n5 E preserve
1 v0 k+ } j/ R5 `( i/ I0 `
* ~5 T+ y6 p5 J3 H. l keep if dx240<`tempminp'
/ t* F2 B% y4 D) f& q. Q4 y 3 T- J( }- T/ u3 m& Q6 n
keep if ddy240>0! P, e; q9 ^/ E' ^' A8 i( {
/ l7 I$ U0 I) N count
: \# ]- B2 Z f$ _; A6 f! a7 d ?2 E' w( y" i! n4 M
if r(N)>2 {
, @' x/ p* L6 |/ p- l* W # t) \- e) \8 j. M* `5 ~5 F
pkexamine dx240 ddy2408 U4 t. x- G/ k, r+ O
7 w/ u7 N: d! j. F
local tempminphddy240=r(tomc)
! [" S/ h3 G1 a7 M2 z* \ restore
+ u+ [2 [: u7 \ }! @) A7 x# D) T: I! A
- c1 c( ^" f& h
else {) h" Z% G+ t5 [8 J" [ [/ p2 k
restore
; S' r m, [* @ di "cannot find pminphddy240"" p& C% b% U# J4 P; D
% V8 k4 \; T/ n- ?1 s5 h
1 [$ A( a+ x. n2 D6 t5 V3 \
sum dx240
( W9 S- D! s* ]5 X7 q- ^ local tempminphddy240=r(mean)
: b6 b- T* `3 L8 | ( p& c$ x, @4 k) T
7 _# k0 g" G4 w
} g& r: W1 Q1 x0 }
! w- z, {! ?' { ) }$ [. Z- g: p. }; G; l( t2 V
! h7 V- ]$ n% W. s7 K$ M
: i5 h+ K7 l7 y) y. z
0 F8 c9 T7 k) ] * [5 p. {* O4 B8 ~. i" i# |; Z# F
gen pminphddy240=`tempminphddy240' in 1) V& P7 v! Q' b
: } w1 t+ N3 R( ? n! e9 y
( g% s2 }9 L: T `" V* B: Z *-------------ddy240pminp右侧低峰值 -----------------; H" [7 N5 ]7 {. f
preserve
$ N- p" r' Q' x/ N; a4 S/ ~
5 Y- f5 P) G9 w1 d; }9 M keep if dx240>`tempminp' T) G9 l: {7 y% O
3 I, H' b' P' r- G- T! N' [
keep if dx240<`tempmaxp'
* x' ^3 ~; k' |- x % V, y4 m+ `, ]# E. {' b# ?; D
keep if ddy240<0, S' Y# F% G7 v- U0 _+ p+ T
, r5 b& \5 s3 G. J, G: a3 a+ y, e+ q gen temddy240=-ddy240
- b, q0 u" u- ?
, o0 c' B5 ^, g% s4 s% N q count
. N. B d) F4 y4 C& b: r ( h; B1 l& u, @: u4 h6 X" M9 V c& b- q
if r(N)>2 {9 D% G* i; t r, W& Z+ N
8 Q2 q2 K" t( |" g$ m- [ pkexamine dx240 temddy240 B) a2 d2 X; Q4 t. P
7 W2 o1 {4 m) M; w! j) h0 s4 \- l. I
local tempminplddy240=r(tomc)
' x% q0 r* M0 o restore
R1 l. ^4 m5 l4 F }. g+ L) o5 j( { U- q/ Z
: o0 h. T% X! ]2 V: N" {5 A1 C' C else {
: A6 `( g2 K P " X% v5 h$ t9 ~& H2 d6 V& w+ ~
di "cannot find pminplddy240"
) K) a/ @4 e( i1 o* H( L/ s) i8 L% s restore2 \- g1 w3 @! c- F& \' X6 a
& `1 d, g/ K3 {+ } sum dx240
1 k0 B1 A$ |( d# K C local tempminplddy240=r(mean)( ^( i: | k" K; z) U+ K4 g) _
& }' t) ^8 s4 k% z' o; A* K
( p$ ^! \" ?7 L }
) j' I, P& L( Q( J3 D6 D
& z( C# Y7 q/ o* }( l 1 S6 X. Q+ J- C8 Q" @) s* x
1 Z* W4 F# U& _6 G
1 i$ T8 K: [5 P+ ^
: L+ @0 o7 N& y gen pminplddy240=`tempminplddy240' in 1
( B9 z' p& P5 Y8 t- Y 2 a F/ Z1 w+ g+ r0 n7 k
*-------------ddy240pmaxp左侧高峰值 -------------------
+ T, n/ N" S3 @6 }- g% x
+ B" A3 }1 l( T; r preserve
1 E: n2 C" f; Z. U' j- |
+ S4 U8 K' D$ |' s# B7 W keep if dx240>`tempminp'" m t" A, {! F/ h: G# { C7 D
% v T$ S+ b" k/ N, ] keep if dx240<`tempmaxp'
( N g4 d- s2 n0 b( H4 t, d1 z
9 g4 l# ^. J7 O8 V( s keep if ddy240>01 y0 ~5 O6 t6 d+ d+ [* C
count
; I+ ^2 }2 p" z9 K) q) P 3 M: c& Y# R& [8 t& |# m8 h
if r(N)>2 {
e- Q, A( Y0 {) i( i 9 a* |1 E! Z! O3 r/ m$ {, g. h8 a
pkexamine dx240 ddy240
/ x# j$ G" f3 S2 Y
. q, }( K. I6 u! n/ v0 h, M% a local tempmaxphddy240=r(tomc)
7 C9 v$ h* G2 d/ H) ? & @7 c# d- s! w) H6 w9 @
restore% W) w$ X, O3 F' S
}6 T/ g$ U6 r G: k* }* z0 x& T
' h+ w8 F9 M( z8 Y5 x else {& f! C A6 b" Y2 ?
' C1 v% R/ w. e) @
di "cannot find pmaxphddy240"! _! N7 Y% r+ ^$ O7 ^
restore
" K2 A4 |! B& s6 F 6 r' h8 h" w- |' @
sum dx240
# A/ |5 X2 _% p( X local tempmaxphddy240=r(mean)
+ ~, z; E8 b, \+ K8 {/ E 9 I# C9 j; ~+ b) m! c* K
7 y" _6 j/ `- {" T1 y }; j: U6 v3 F' h) M' ~
/ o4 ~' F i( {+ Z( r# | 6 E* i) O2 }9 V) \( }+ U
5 A+ b {4 ?* \4 Q2 \, _ 6 c1 J4 V- T7 f. n. L
+ U# f2 I8 U; X$ R2 Z
8 S7 m6 ~8 ?8 M Q
gen pmaxphddy240=`tempmaxphddy240' in 1
" \0 U0 N; {) m! D: z8 V
. O `8 d& p) }; r2 v ' _/ g* u# c% B7 d) U# u1 D. s
*-------------ddy240pmaxp右侧低峰值 -------------------' ~3 H8 s! O5 v
+ q3 M0 H5 M4 C0 j
preserve
; A9 [' K1 {& r- J( i9 N3 j
* v9 u2 E" S% _% k) f2 l' M keep if dx240>`tempmaxp'
# \# p, Q/ n: V' G ; P, E8 B; @/ @6 K+ x L
gen temddy240=-ddy240" D! f$ H: e" Q% Q5 O9 S* j
$ Q- N- l* b" b& r( p keep if temddy240>0
0 O, q/ Y( O1 D0 _. h
* o# d: N( r- {- n o+ E4 ] count# V2 I+ G. j% t' H) R1 `0 l: k
* \ x$ `3 w* a$ v4 i4 j if r(N)>2 {
$ t8 C4 `. \5 k8 U" M+ k
+ O" c' t. Q4 T5 J+ d+ X pkexamine dx240 temddy240
9 E( c& ~6 E( k7 U& A i) u7 n4 c. }$ i* _: f0 y; p: K: Z
local tempmaxplddy240=r(tomc)
7 I E Z% c9 k! L; _ restore F* a/ `2 f* o, Z- h. {
}
) P& p: ~* j5 a" {2 S3 ~2 O6 E6 P. h
( `/ R4 k) f0 @, L# W+ k else {
% P4 o7 b, s0 Q0 @( P$ r3 I restore
7 H# G4 h" \; h) O7 [- p di "cannot find pmaxlhddy240"7 ?/ D, O4 S* r8 u
/ W0 a% U3 S, B) d+ `- [( n4 V! E) j 8 N; Y& ?7 j% X, i0 I6 y) S7 L0 `
sum dx240 x% ?( d6 l! p i- b1 d
local tempmaxplddy240=r(mean) in 1
0 g8 l0 L, ~5 B+ t
* |9 I% q3 o! A! U
: D6 _! b( o) y }2 L8 b7 |: G4 X6 g( H/ P: `
6 L; R+ w" ^% {" x' V
; @3 g/ P6 i3 V, I! F 2 T4 O' d7 u0 l( Q3 O
( P- K9 W% {6 N$ j
' u, I# r: }. }' R
3 k" \3 M3 v+ o0 b
gen pmaxplddy240=`tempmaxphddy240' in 1
" \5 l/ z) ]! | ; H1 | l+ [( q0 {( ?7 E
*-------------------------------------: t2 r, H! W" `5 e3 k
( C l W* V( N7 a2 Q+ X gen price5d=v5 in 1/206 C9 @$ O8 W$ z- N
: A% ]) t/ d/ s$ D0 f# C1 z gen price5yy=_n in 1/20
, X8 v8 k& {/ } " N; k, I0 x% }0 H0 G
gen price5y=price5yy*(dy240max-dy240min)/20
% i& O. [7 g! B; h7 w
& Z+ O5 K/ A0 ^: h *price5y &price5d
/ I, b) N4 [7 u & p5 z$ w7 ~' G) t4 y
gen priceny=price5y in 1/ d& Y% q! w; H8 K# e) f, E2 F' }# S
3 z) T! d' J& r" X- ] gen pricen=v5 in 1
2 [4 I, _1 c B' \( ~; g- c/ I1 m4 C
2 Z! X. i& j' a3 ]4 U" _
*priceny &pricen0 z* U D/ q! F2 g
/ u. z7 s- k7 j& o8 B4 H* w 8 z' o- D0 h* ^7 s
*-------------------------graph------------------
5 v9 S# R9 n' ^ a1 t! s. d) D7 i) o " y$ Z" u/ y0 H. w1 z/ _: i7 @
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)4 E" J4 F7 }2 O, Q2 y. s6 v/ }
% }7 M4 V- n8 }
* ---------可选项目----------------------
5 L7 d9 e, y* ^( M*(spike yxis amean,lc(blue))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean))
; e1 d3 n! W& v; j* K4 @}
# a; e% _7 L! A2 Q4 r& x! Jend1 L* @1 g0 n. G. \& L( @& C
|
|