|
|
maodeng 发表于 2013-1-28 13:13 ( x1 F, k8 w) E5 W7 ^0 a, |% ]
. hello 300236
8 y. d0 h- V& G' e% i9 u. r# k: ?statement out of context& r/ p% q- f( ] p1 y+ V2 W: O; t( S
r(119); 9 i$ k! c3 K6 |" @5 Q* J1 \
抱歉,最近太忙了
k) a% ?# C2 W: D) z# A
# d" `9 g; h! h9 H* o300236 我用下面的程序试过,没问题
6 f) }$ Y, u. L+ Q0 a0 C! l
: W* P9 c1 [/ Q/ f- L3 j1 b" K9 k: n你把 D:\stock\test\source 改成你导出的数据存放的目录,再试一试
0 m+ R, Y& J6 O6 p" J
' F0 D( \; a) I: O# p% s$ N% Ccapture program drop hello; W- k! ^7 Q: @+ K, Z2 w: [3 H
4 [" e& O2 V3 F+ i
program hello( x! C% J2 ~+ I% H
' V- E$ E. b6 O6 v5 c
quietly {
3 r+ A0 f1 Q% M- k
u$ d$ D/ X8 ~9 O+ P2 _! qclear0 J! N" ^9 ~+ Q' \+ h/ G5 ~- l! ?
: \, E8 E* t# ^5 x8 ccd D:\stock\test\source
) o( _3 t/ X' ]6 e( J' [' [. G' v3 S$ v$ L/ L' x
insheet using `1'.txt
2 f: b" L+ d) |' ^: c" z" I
: Y4 o: s+ T( |7 Q5 ~7 k, p keep if v5>0" J$ a+ a! _7 R: T, A% _
6 R( `5 W; r% u
gen vt=_n: c, p' C; P' Q
( o8 Y t! m. `: }' O tsset vt# C3 i/ q* k$ l p1 M
6 }: a' M H; c7 u
gen zf=D1.v5, H' e U! o {# f3 `
; g4 ~0 D1 v, X; k; g gsort -v1! l+ Y B; |! s) b* l; v( ?
7 Q! } V! A! e6 ^6 r: |% {9 w
gen avol=v7/v5
' m' ^9 ~; U/ ]. {- }/ |5 w
0 f* t7 s$ L- k9 ^5 v, v! a keep if avol>0
% J% N) [: r, o' M8 G. ? " k) x5 u. B8 d" O
drop vt) O' A+ ?9 ~( q( i3 ~
* o) w W5 L) @# L+ t
gen vt=_n
- i7 |; v. Z( ?- }" P
! x6 p* X/ U, ?# c5 h" S* S0 A tsset vt
* @( I9 c* b |7 [% x. W$ F ! J" k1 b5 s2 e( c1 E- ]0 u5 V
sum v5 [aw =avol]
$ [* ^5 B9 A. Z
0 V" w; d" L6 y2 I, M gen amean=r(mean) in 1
7 A0 ~, h; Y$ W) ?6 `% K9 F
# R& N8 K$ T. P+ G& c * 总加权平均值 amean2 k1 Z1 F( P2 O/ P2 @
& U# r( t9 p f/ M' C
5 r' T" B& B2 q+ ~% k keep in 1/2404 N- Z! o8 u# N
! L5 Y+ Y$ W: c; R$ y4 q
sum v5 [aw =avol]
8 c. ^0 ]" W* f% ?( @, D( ` `, S. o1 Q! x [
gen mean240=r(mean) in 1
6 G! N2 x! f5 f% U6 {; |% ]2 J
% W6 ^% K7 }; F. F *240加权平均值 mean240) e! r7 y" t" x$ z5 B! V
! m* |8 T, r5 _5 E set obs 500 0 H7 U9 T% f) D) C! l' z$ I
, A R' u) @2 }0 E& A! z5 r) L* C
kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph
+ ^6 U: W- [# G5 ^6 b
8 U. @; m; ?& T* u. j. ]0 M *240 kdensity(dx240 dy240)* c. }9 Y1 o6 \2 k7 w
( _* }" M& [# }7 R
sum dy240
# ^9 ]2 y! R* ]* x& T9 V1 |9 V) g 7 i: y7 W0 a7 z0 R6 J) c
gen yxis=r(max) in 1
+ Y8 Q4 ^6 [5 f4 r* D! E4 P
3 u# O; s& E! ^5 T+ w, ]* [% } gen yxis2=yxis/2
5 k& s" [# T2 `2 J/ z# _. l! Z 4 y4 w* ~, z$ C1 I$ @4 d1 @2 ^3 X) Q
*yxis( T# F' {4 I5 g/ s/ U
; o J4 G7 _) a! h gen dy240max=r(max): v/ L9 v0 Q0 R1 K9 U9 b- t
" d0 J O, T# g, o @) D8 D gen dy240minp=r(min)/ L6 u0 g9 p, D9 \4 N$ c7 _3 I
) h5 ]" y- v1 @2 d gen vtt=_n0 w6 K2 B" {4 B4 k
/ j7 r4 W) M9 f! m7 w: j tsset vtt$ h6 E$ d' x4 X
1 e7 w, r0 W& I8 k( q
gen ddy240=D1.dy240/D1.dx240$ Y6 [, a$ c* E' j& _. E
$ D% ]% F1 n& L( i4 G sum ddy240
2 F0 Q6 f9 \6 i' H, y- w- g : S9 @7 @8 k2 r. X% Q5 c. d
gen ddy240max=r(max)2 M, |$ F1 @+ d7 I c5 T
2 ]2 E9 h$ I8 z% C6 a y; L; B* B gen ddy240min=r(min)
9 q$ u- J; @5 X p" q% @& q- Y# T$ }
gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)
2 f. e+ I9 l/ J5 u, m; q1 c , f4 ]6 m6 l" {; C) ~" t
sum ddy240g
U8 | |7 M' L6 i ^* e7 K5 C [
( c- V1 `8 Z, Q5 M8 B9 b3 P gen yxis3=r(min) in 1
% A" K3 B, g3 v( `" T ) k' l( B5 Y; d/ z
gen yxis4=0 in 1# Y1 T) Q0 c, q2 z) _
& ]' u, Z+ S! a2 R! l9 C9 ]
*ddy240g
5 q: h E- Q1 C8 ~0 p, ~* }% N 4 s" u& G% Y6 Y( I5 h" M# x1 @
7 f( y, v+ g2 m# c! Z5 B preserve
2 c" x, H. l3 R# v: U + Y6 _1 O- B% y9 o7 G
sum v5 [aw =avol]
( `0 R: ~, |" P s4 `" r
; h* E% w( ~2 @/ H9 o% [; i keep if dx240<r(mean)
) t. ~8 k0 O9 D8 Q" ]: Z# Y . \0 y0 G: |# U7 S' q( k
sum ddy240/ p3 k" J, E$ A# I5 z4 [
2 H2 N, {+ U3 C3 ?* b if r(min)<0 {
% g5 }. Q% W+ l* w7 M# n) R, c* w7 | & s. A" g. W; X# E+ R6 I0 f4 A
keep if ddy240<=0
& |* f- `. M# F' W( Z# ^, b( p- y
) T; d: s$ Y; L- w/ s count
% A; K S. J" A$ E 0 j8 t; q' Y6 x. ~
if r(N)>2 {. ?. L: Z5 P8 {, c9 f, @2 m4 s8 H
( {4 u! O( G# Q) U- k; \% ]
pkexamine dx240 dy240
* y8 J+ u1 N3 ~
$ _- I( B' L7 U: @) h. v1 F local tempminp=r(tomc)" }; {$ ~/ }, k$ O) F
restore ; b; ~& D. k3 G0 U& ^
}# L3 ]- |) T9 G2 O- L. B* W
+ R4 h& t$ F B$ t9 W
else {
: S$ _- _ W7 d. P, Z% U( q7 o
, P2 M( ]$ P' b- A- v8 r di "cannot find minp"
6 X; F1 ^; w! K6 @
" v6 C4 f& r' v3 Z8 X restore ( V8 y3 M1 U/ t& t" t
sum dx240
$ T& ~8 S/ m% ?( n% m local tempminp=r(mean)0 l" s4 W( B( G) k4 ]1 U! ?! r
' I: v- D( l1 {7 } }7 K5 A a2 q$ m1 P2 N" U1 x# i' F
}( c5 \2 i `- r e5 G F' d g( h4 j
else {
' a+ B# M0 M. I" `) O( f, f% P ( m; N0 l9 J! S. }' Z
keep if ddy240<=r(min)3 U& w1 R7 i* {4 h3 Q$ i: T
h) l5 @( Q& H5 z! Q9 J1 ~ sum dx240
1 a" E$ @- ^5 E. L6 F: L2 B, P
6 Q# @5 u# o5 m local tempminp=r(min)
% m! q. x9 I% v) w' v2 ? restore 8 j$ Y$ U- g" s2 N% Y* o# J+ r8 f
}
! G5 Y+ h' D F( ^9 z" ]
+ D, w9 r' x. ?' ?* y$ q( m. B9 k ^- ~8 g+ K
$ M+ x5 @ K: @7 X% q
gen minp=`tempminp' in 1
s# I! G4 L* M9 Z' X3 D* A% Y& H *240 minp
- o: u- M4 \* w4 w! ]) l+ y9 p9 E, J7 y& ^# a/ J: x
) ~$ O7 r/ I* e8 R. L. R
1 m% [2 e0 S: C( I
preserve I( P* t7 k" C3 q; x7 } K: q
1 @" R' K; z( ^3 g sum v5 [aw =avol]
* C, P: {) I$ S z. O) z" n 7 ~0 o* B0 [8 ^1 O. L' |) x
keep if dx240>r(mean); d+ B3 i+ l2 \* g9 I
8 b4 @4 [" J5 q3 b- e4 a5 g7 l
sum ddy240
, {- [! X& }$ q6 l ; `- I& N1 \1 H7 X+ @
if r(max)>0 {$ x# k1 o/ P8 R! B
. Q! ?- G; j4 }9 `- z: o+ p
keep if ddy240>=0
" `- [0 k4 p, b* z o 5 y* K# u. O( P9 j, X+ c! _( }
count. }; \+ \1 ]& O8 J! P6 a
" q8 i1 E% }- M9 D7 h: \ w: r# }/ o
if r(N)>2 {- t% a1 R8 g% ]# H7 v& k0 U u' u
' U7 e* m' v+ J# h
pkexamine dx240 dy240; @, u4 O9 b \, C5 a0 h# M
' D, }6 E0 r" W1 w: c
local tempmaxp=r(tomc)
$ h; X h9 p( O! T8 s restore
5 _, `0 `6 N# `0 U* o; D }
7 R# h9 ^4 d: q, f: n$ V- f. b) L( x 5 n/ U, O: D6 D# @2 Q, H
' w! a ^1 x, l# D4 I else {) l8 d& X5 ]* U% l: Y+ I
restore
) V# |. D8 s2 T' e7 N di "cannot find maxp"6 q3 ]# q! q {- O
0 t1 G$ m: u! L6 u2 }
4 [: E. q9 C8 Q( T% m6 Y) x* I sum dx240
. t, D2 W9 B2 o9 l7 l D local tempmaxp=r(mean)3 |8 d8 p% T& F
- I! z! c: _( p$ C }
/ Z. _8 `/ `/ ~* ? , r' e: s. E$ G: Q9 v3 J1 g* r
}) q4 B5 k4 o7 M: B; K T. x4 X
& X" O" ]* H) X7 w2 t else {" h/ B& {$ S5 R" t% Y
) N% U8 U2 e" g! |% h
keep if ddy240>=r(max)3 O) M! z, p7 c, z- }- b
8 r" X: Y7 f- n; u+ s$ A sum dx240
; Z; K+ B% [4 d% y: f
/ F( b- p# E7 d1 i: r7 r& v local tempmaxp=r(max) ! j( E/ s+ k" n! I$ Y, b
restore * ~ ^! x# P* f) E7 Z& [
}# n# ?) A7 `$ G" t
2 R$ D6 h) s; Q7 V0 K+ S- P$ L$ Y
( [$ F1 b/ s: p3 n3 W " ?0 [0 v6 C7 |# Y1 ?& v) q* F* q+ u
: G; S, ~+ K3 L" o gen maxp=`tempmaxp' in 1
. B W) k0 \0 Y
$ b% u# q* C0 W6 j *240maxp
5 [9 n' Q+ o) T; U- ~; W 7 W8 M9 J; D0 W, b+ h+ J
! [& }/ h) L' C1 h7 x% L *-------------ddy240pminp左侧高峰值-----
a- F8 X: _; O% g, ^ # g; r+ [& |# ~4 ?( S) O' Q
preserve ) L3 g% X V7 h
9 H) c% ]5 C) v: x keep if dx240<`tempminp'7 u9 v" ^; a7 O2 U2 b. g
; x( r2 U o8 X3 g1 Q* l
keep if ddy240>0
" J% g Z5 E- F- P- x7 p
/ Z) T% s( [: r: Z, {, c, @# O count
' Z% q4 n- h: t5 } ! m, c k* Q9 N, z
if r(N)>2 {
. p! f8 Q; b/ H. R& d6 I , P6 v* ?) Y% x S9 Z
pkexamine dx240 ddy240
u3 u$ K: u, e+ y, e# J3 ~ s ! V: }+ m7 _6 f' _ Z
local tempminphddy240=r(tomc) + S5 K) ?+ V6 E% s$ x0 j$ O
restore+ X! S/ C: z& g$ ?
}
& g; E- E% e2 t; N
- g( v6 t6 h, H/ |. v) y+ ^ else {* g* X; |% a( ]7 N, D8 V3 a
restore 2 G( B0 h, J$ R2 q2 `$ n
di "cannot find pminphddy240"4 k& K1 T/ B' W2 F5 i
& V# @5 `0 ?2 i6 Z4 T1 {- }& g5 G
# \3 s! m6 o) [ sum dx240
7 m" X q$ ?# _, F8 [5 n/ L local tempminphddy240=r(mean)
# ^# { A2 y3 K1 X" `4 }; ~& `
) X. } U6 q! I0 Q. b e7 [: k1 U 7 e3 m' ^$ l# C; y* P9 V
}
7 F- n( X6 o5 ^( \! D0 ]' H" b; o
2 b0 h2 E$ \6 V7 Y
' J! M6 J) h, n6 l $ ~) f0 c9 s) W8 F/ a
+ I n/ L' }% f8 L% o2 c
- @: G9 r' J) L8 s5 i, A
& t5 U8 g+ _1 S. A. N7 f3 J/ Y/ d gen pminphddy240=`tempminphddy240' in 1
$ T) q; _+ R4 w+ v- ^8 X5 x $ P1 Y$ t. O; C0 v/ _- B
8 ]$ S; L5 l) m8 j
*-------------ddy240pminp右侧低峰值 -----------------
! g6 W; v5 y U! K preserve s) e1 s/ i$ `' ~
$ ~3 M6 [8 B4 L$ H; c
keep if dx240>`tempminp'
- E2 ?% u5 [6 ~8 q! R ; A8 C n" [1 r
keep if dx240<`tempmaxp'
4 S' q6 i- |) }9 G1 P2 n( \ " G) T" g1 y1 v0 K3 p4 B' Z
keep if ddy240<0
; t. J' t' P; G4 u3 j2 F0 e : H2 z6 |0 i1 C. O' V% Q
gen temddy240=-ddy2405 p' _0 \, r- _5 c7 @, u3 Q& e
1 @$ [; f1 n4 H- y# A6 K9 U count6 N. n3 {. W4 q. A; l, {, X8 z% Z2 {
; o) b% p7 w5 [! H- z% d if r(N)>2 {! z! F9 u' t! ]8 J) T# j
8 J3 }2 G7 G* G. V/ F- L, N1 `2 Q
pkexamine dx240 temddy240
9 Q+ }8 K1 @- {0 O ' z2 _% f9 y; [6 @1 }' s
local tempminplddy240=r(tomc): s6 j" w* u! X
restore
" N" h7 \2 o( c+ X& c* ` }3 T8 F/ z c" G! [& a% r1 S( O
0 b7 {3 {5 f/ _; n# [! @8 b# e# \
else {6 Q- T/ ^! o3 _3 f: A
/ @. i4 H. k9 m5 U' P di "cannot find pminplddy240"
q% K" f" X) V) v* g restore. ~' Y' z* d0 Y: ^+ k. ?
6 p% v' F8 ?; l. C+ O
sum dx240$ y) {+ M9 `5 ~
local tempminplddy240=r(mean)
+ R, X6 S2 |7 o9 w: [$ ?8 r
& [' Q6 K; B, C/ K 9 j3 k( k) O% ?4 n# A
}
- i$ c3 A' K4 l7 _* c, F b# J' I
$ U; B; w8 C7 i# v6 k , P$ r5 a0 ^: g
, ^, h4 S* p" {
8 k- l: l5 G+ D$ k9 W; @; j9 `% g 1 Z$ L" g7 B- h* S+ m/ o
gen pminplddy240=`tempminplddy240' in 1% r' o, C; f8 m$ N
y! Z9 n* b4 v- n6 W2 R
*-------------ddy240pmaxp左侧高峰值 -------------------
% G( c6 }; @8 E
: g6 B5 d4 V8 V3 ^, H" b0 O preserve
: u/ ?& L" ~7 {6 d& C
4 {. D! C: P) z; j$ n0 p e keep if dx240>`tempminp'
' F' E3 m4 Z& n" l+ p 3 W4 [7 V, X2 U. o W
keep if dx240<`tempmaxp'; a8 k5 ~( f; z1 x9 A& v1 ~. c
5 q9 D9 j! T- j6 ?5 C" J. ^) _
keep if ddy240>0. i7 k: g" l! L* M5 D% S# t
count$ `" J9 }+ {0 g9 ~( ^- X
6 q; k/ H) l$ w0 l7 y$ d( p if r(N)>2 {
- p ^8 ~* r t9 R
# x3 J& L0 ~1 s pkexamine dx240 ddy240) P- k+ w0 J) A4 t- i7 {
6 h2 k& n# K" z, N- L8 b local tempmaxphddy240=r(tomc)
% L1 F, [& c( ^% M " N2 j6 w5 C* K9 T4 M& o( o+ `. ~; w
restore K* j* t. Z1 Y- E6 p4 t
}1 N3 n$ L- u6 e, X! h5 U
* ^. ]& T: G3 x* {! s+ |, }4 I else {2 g+ D$ v: H& J3 I6 I! T) u1 O3 r; M0 I
, ~( N* @4 R( }3 C1 |6 f/ O" f di "cannot find pmaxphddy240"- d4 l K+ M9 o+ g, w/ i
restore9 M- ~) \/ n1 Y% S+ }
( |8 V% x9 ]" R( L6 I% G- N
sum dx240
3 A5 e2 M; c0 }1 ^ local tempmaxphddy240=r(mean)
9 q k4 \& \, j( f+ _ : T7 i( M/ T4 e( f: H! N1 ?
: Q; j0 t: X& k* o
}
/ X1 g i6 o$ u+ b+ u7 y" Y$ ^; B
( G& I+ M) X' G% Z' b # j$ g1 Y* A6 P" i
" W/ z' Z" i! T
6 ?% U: p* n# p; m6 E f' y
( K0 g' ]5 ~ h d+ G, W, |) S
% C! a& C! `4 H2 J0 I( J5 a/ a, O
gen pmaxphddy240=`tempmaxphddy240' in 1
9 L3 @% t" G4 ]0 x9 s8 ^
( a) f( i0 n3 L( R9 M$ f 1 F* _4 C+ {" a" t
*-------------ddy240pmaxp右侧低峰值 -------------------( J4 g* X: _& h, f4 N5 T: d
! G, R6 x- H2 S* G preserve : U% ^3 c9 r1 C, l
% ]8 v C1 r/ L1 v
keep if dx240>`tempmaxp'
& j0 [; N7 R/ A L1 [ e$ h: t- I$ v4 N7 ]
gen temddy240=-ddy240/ X3 }+ _) P& a, S
/ n/ \8 N- F! K keep if temddy240>0
- Y( l! O4 h5 _! @) y - H" v' `( z; g" d% A
count4 z. i% }1 k$ k) \: C
* [1 m% n( b9 ~( q2 v8 {3 c
if r(N)>2 {
8 v! h+ C' @0 E/ G4 q- X( k 2 }/ p6 _# Q ~! k7 B, o# G3 ^, i* D, ]
pkexamine dx240 temddy2404 C3 Y6 g0 I, E7 _
1 ]0 |- E3 d7 Z5 h
local tempmaxplddy240=r(tomc) - x8 Q' K3 G* e& U v8 V( i
restore! C" u" e* p2 T3 G/ z
}- D! G/ N" n; k9 O! F$ I \
9 `7 @6 J3 j% g
else {% I- n( N8 G( B g
restore
9 g8 z6 \: i) F; h/ h$ B di "cannot find pmaxlhddy240", ]& [; h r. J s# L
+ p p1 ]8 f4 R# ?' Y2 z; X+ R
% E( \ Y7 Y: z' l( }- n( p sum dx2409 p# b [% i! F s; R
local tempmaxplddy240=r(mean) in 11 V' k) G0 r- G8 o ~
& O9 o5 o" I: A2 R9 R + i1 Y( i$ q" v9 K( C) g2 y+ I
}/ o. s0 U: o! W) h3 J
5 ^& _* z. z" M+ b$ n # b' I1 ^5 f5 T# [4 ^4 ]8 H
9 J: N( U/ l2 Z ^
# ?, z6 }2 \3 i8 D* K
! c* W; V8 T- V+ p0 K & I8 A6 A8 _8 s& z' H
gen pmaxplddy240=`tempmaxphddy240' in 10 m6 P q# @# p) B& p/ B v
6 u& B0 E' _, C3 L$ I9 R9 d
*-------------------------------------' G: y) |# d3 ?7 W5 X( X& v
. p9 L" @" ^5 }& E' U5 g* ?0 V; l8 u gen price5d=v5 in 1/20
& D7 G$ f* b3 ]% r % m3 ]/ }* k: Q
gen price5yy=_n in 1/20
8 _. d! o0 e3 N4 G( o ) J* |1 L2 G. C8 F3 ~7 y
gen price5y=price5yy*(dy240max-dy240min)/20
( E: I' w- X0 l% w
9 o0 ]; W+ @$ S" u$ Z/ o *price5y &price5d ]0 p, ]- e2 f3 H! X
2 v# `3 z/ N. b* L gen priceny=price5y in 1
" z( X- D9 f* S3 \
$ M+ K& s* D, X1 V* r4 ~ gen pricen=v5 in 1
. M; I, Q5 x" u2 |; l
! d/ ]3 A- f. p' P; a
: f8 `0 P* y, }' {/ e2 S *priceny &pricen& ]0 V& x b7 S a: v! L( U
; H. p# Q$ [; t5 [ : B& Y& N: Z3 V. ?
*-------------------------graph------------------) e% B' C9 K6 W9 B$ P O
& x. W" Z9 }& c( P* P 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)& w6 _2 ]9 t1 t. s. C$ ^
2 x7 Q' N2 y" s# L* ---------可选项目----------------------
: y& L4 ]5 M: k. a0 q*(spike yxis amean,lc(blue))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean))' ~" d0 G3 s4 I8 J+ j# | o* Q# W
}6 n- e, s% ~# Q+ c* ?' t0 a) l0 S
end7 M) I$ _7 }* a- V
|
|