|
|
改了一下,这次运算应该没啥问题了8 A9 g' Q. h4 m5 n
6 Z( n0 b. Y' o% l
' i# R9 M. T; K. Q3 Bcapture program drop hello% j+ M# Z1 u5 b9 r5 c
) s- t8 m, i. |4 E/ c+ c% @/ A6 Aprogram hello0 {$ @% o1 H" n# g
7 ?# u9 G- `( E7 [! I quietly {* b; [% h/ ?9 B0 n1 h+ }
# Y8 }! x' S2 Q* ^) T
clear3 ^$ ~% c$ N3 B. a7 ~: e# K( W
4 {( d7 L1 |# E& P5 n" n; M8 t" U( A
cd e:\finance\stock\20110101\source' @" H a4 g! P; P- R5 t- _
$ J2 L+ t9 q2 _7 r: ]5 binsheet using `1'.txt
z8 @" j' B9 V& t. J& J) Q% {
. w6 {, V* f' [: ^! i6 x keep if v5>0
& Q" }" R0 ^7 a! e. N * l% ~% g' q* x) H# c$ f& k
gen vt=_n
0 k; r% f, z5 U7 T( j % x4 _6 o5 V: a1 T' }8 V ^
tsset vt
$ ^. @0 G8 |' ]+ b+ D' z2 A; o
5 W- V0 [$ D$ U gen zf=D1.v5( \5 G* c0 m" Z* B
7 }4 S- F4 ]7 q5 C
gsort -v1
: r+ \9 D% ~. v* F* r$ ~) o6 v' v7 j- H6 D8 [4 v# ^
gen avol=v7/v5 L/ y$ I) ]5 P9 Y
- I1 d. n9 H2 m- ?
keep if avol>0! X9 |( Z0 o% q; p1 |# d
& p" N8 }! q {) e- A5 {* b2 M6 E drop vt9 b( M$ W5 T2 k1 G
' Q0 t* K6 c' R. [
gen vt=_n3 y5 v$ h9 Y2 d+ Q3 m! @4 z
G% _$ i; T- ?; t
tsset vt
- `9 F, q8 B' ~% x* L
( m/ n* x! m9 L5 [5 D) W9 } sum v5 [aw =avol]
- k- ?# j# L9 N9 A2 r# c" o6 A
0 E# m/ v2 d! w' { gen amean=r(mean) in 18 \3 T j$ x f+ C O5 n; C
, [# A7 x# B# | * 总加权平均值 amean. B6 M* X" D/ }' _6 ~; D
3 e7 a8 Z% i" u5 i) s' _' {$ M
) V/ Z. ^3 p0 K2 S) u
keep in 1/240
. K4 K& q# d% W" e. N- Q- i6 \" d0 y4 r7 }8 A& v
sum v5 [aw =avol]! Q: ^7 h: a9 J1 H1 b# ~
7 t' }0 `! L5 P' W: }! C/ J- B
gen mean240=r(mean) in 1
; r4 k. v0 ?6 S, W2 I9 H# T. h
% R: ^8 N' b# L1 M3 R *240加权平均值 mean240
7 A0 F: u* k6 X: h - a0 s5 L2 Y( O) e# W
set obs 500
; S- m7 h- w3 O* p( B
6 [. O' ]6 {8 `, p kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph
( S, H! R% {2 ~0 B# [6 X( L
- N3 S+ G) s' Y7 \. J% B c7 K *240 kdensity(dx240 dy240): w$ s" B. j% B. n* E
* [ b5 n0 b1 |2 z/ _$ G
sum dy240/ I9 ?4 X8 k+ {+ R
- Q3 t$ ?& l2 V7 o$ t& N; {0 Z gen yxis=r(max) in 1
7 j- j* R3 V, x7 e$ W! @* I . h- J) @' |6 a- O
gen yxis2=yxis/2
* l7 ^# ?& u* U : R L% t8 f S
*yxis P% B3 w+ V# ]6 Q b8 S @
. m" r) f1 @* X
gen dy240max=r(max)6 G% L! P8 l- K* G# M3 j
9 n2 |9 O) p3 l
gen dy240minp=r(min)1 c2 [1 S5 A, x3 z+ G1 ~
: b E! `9 g9 C7 E3 o5 Y2 l gen vtt=_n% ^8 v$ v+ d5 \2 T- Z, N0 Q
% j. C% v9 ~/ W6 d! c' p
tsset vtt
* V" a* Y4 y& d9 R: E8 G4 m5 c4 K! O8 k: ~: O$ T. ?
gen ddy240=D1.dy240/D1.dx240: ~ t0 P! u& O
8 h0 X: D5 X Y! g
sum ddy240
7 E+ _4 n; J4 E8 j6 ~9 S
' {; G: |" n% Y: x8 B8 e) b gen ddy240max=r(max)5 s0 l7 M) v- {
/ P9 l! q7 d; c5 p9 X7 p/ a gen ddy240min=r(min)9 ^( i' Z d% Y" o" B4 ^) Z5 X; n+ |
w% n1 o1 h* O4 \% U" K
gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)
/ g' y8 N6 t1 R- ^ 5 t. \- J3 w( D$ {% |
sum ddy240g8 {8 L8 Z" ^" ~
$ d# h7 C7 |* U& G& `: H4 q
gen yxis3=r(min) in 1
% s0 q$ t% q& M8 M, B- W : l$ Y& D* K" [9 ]
gen yxis4=0 in 1: u7 V2 _# t5 M- O6 H4 g3 b, t4 [6 O
! O+ C7 a. }* m
*ddy240g 2 V* E2 Y- S) |: \/ d" N5 v; f
2 ?5 {8 F3 x% \8 |3 }- x$ f S
! M, a- x% L5 c$ G preserve
. d8 Q, l& v$ ~! ~2 Y: z" T 1 l& i! U6 S3 V! `% U
sum v5 [aw =avol]6 J# ~4 t! Z5 P+ h+ j0 w% [' j
0 k" v# w$ T2 v+ D2 N- v1 | keep if dx240<r(mean)* b7 J7 p1 W4 v/ j
, H A/ B, C) a3 C- E sum ddy240
' a4 F$ j* F2 ? ` ) Q( O2 T8 q2 L. ^
if r(min)<0 {
1 I. k/ |0 E# ], d3 `0 F: Q 5 c/ o- P9 l; e# H' O& X; H" }. E
keep if ddy240<=0
) O3 k, i; K7 \
5 J6 @8 q* t$ D0 z count
! a3 Y* ~: U" V9 B2 p1 r. I , N6 j5 M4 B4 e( \( c; U' m r& ?
if r(N)>2 {
6 a' |# S8 Q5 N/ N3 c
T# q0 R7 i$ J2 g- S0 l5 m. P# T pkexamine dx240 dy240
& }" g$ F$ `$ R) p
6 m7 q( Q9 Y' f% ` local tempminp=r(tomc)3 G. a9 t* Q& r, M( x
restore . n" q$ U! d! {8 q4 T# U2 w
}2 W% e6 i* a6 R: ^8 T2 e7 {9 e
\( v0 _& i# a2 j
else {9 m" J: [$ L e* x
5 Z8 j$ v$ q- o7 V% h0 K di "cannot find minp", o6 y; V6 q- j9 H
* n, s4 Q9 q0 {* `
restore
+ d+ r [- P- U9 R4 L1 P' y( m sum dx240! I0 i1 Y; B3 e2 a( O4 R d C! U* ^
local tempminp=r(mean)1 f0 p" E# Z( r0 j# Z6 i
1 L4 c1 `3 k' w
}
" V# k& R$ s6 R6 @ }
. l' ]9 x( F1 ]6 Z6 t; B; d2 n* V else {
0 a5 { b* x7 g # C- `) S( {# B* t* I4 Q4 `1 y
keep if ddy240<=r(min)
$ U) K- i- g! t7 j
9 j6 p9 a2 ?$ B sum dx240
# I/ b( c' q, p4 ]
/ @7 a( a3 e9 S( E* j local tempminp=r(min)
3 M6 v) O. J; f8 x restore
" [! F+ o) X1 @. P }3 f2 e e2 `: H1 f" u& C) O2 O
/ z7 M& X& }, W J! i1 ~ f% G
! @6 v0 Q% ^+ x) C( V# b; L
# ]3 n p' C* ?/ E. ]: x; F gen minp=`tempminp' in 1
0 [' v; \6 |7 s; Q" @8 q *240 minp! W5 r6 e+ r; g# @
. m. f: A, j# X8 u$ }6 Y9 ~$ h( F4 ^! J! b) U
6 R' L1 Y; S i7 K5 l( s preserve
8 _- M. }( q2 B. @# Z
* [" u$ f3 D; F& j. i sum v5 [aw =avol]7 x1 e: p$ b2 F
4 f. c+ M, [- a# x. s; k0 z3 G
keep if dx240>r(mean)' g2 l0 \& A0 z( d
/ h @* u; H. \" R! X sum ddy240
% \ F* ~/ b9 e, ]* E% M- j % g* }- y, V( ?6 q5 @
if r(max)>0 {1 V; F8 o+ ]' X) `7 k
! ~$ v, C" ]9 I% }( O0 z+ ?
keep if ddy240>=0
; x+ ^+ Z+ ?$ S/ d
1 U' h' l# r* x/ @2 ~) Y, d count, Z. |& x; W8 s7 n% l# d
1 T$ t- a" w3 c& y) U if r(N)>2 {; c+ @. V7 v& ^7 A: g1 _: T4 ] r
3 G$ r% V( A5 G; O6 s$ u3 x+ d pkexamine dx240 dy240
4 k9 d8 j& |* p; _
8 Z6 j$ n Z% V4 h local tempmaxp=r(tomc) + ]; \& @- t* p" a/ K9 N
restore
1 S7 G' y1 X# w; Z& J; a6 Q }
5 Z3 O) J8 S, D! e+ k
) o- m5 A" e+ h& P+ P # c! x5 {! M# ?) W# F; N8 {" p- R. F
else {
7 O* d# H3 W' ^4 C) o restore 5 G8 |- f. n) s( z
di "cannot find maxp"5 {0 a! Y2 c5 @: J6 t# D
% e' S; S9 [/ K. H 9 @ d+ p1 p4 ]9 f# x0 b
sum dx240
4 P }' P) g8 i/ u& {6 P local tempmaxp=r(mean)6 f) R4 j8 X# b+ y
. q, M. Q ?4 ~4 ?# m3 g& V. ~: ^/ {% U5 g }7 j4 p5 a3 R5 c$ [
G5 D; @ v' Q- P
}
{ O3 p' o. Y- G4 `+ i' O
8 X6 H/ O$ A( C else {' \4 M0 j D' g) }3 n/ ^9 U
1 o8 _8 [5 o, l3 v$ B keep if ddy240>=r(max)) ]% ^8 K' e/ L( A3 g
5 H% v) y# D# D$ h
sum dx240! j' W2 E# R7 J' q' T' o( K
+ P N3 P$ A( h local tempmaxp=r(max) G d* x& H* G7 X6 ?! Q
restore 6 ^* q% y8 w. ~! u
} |. e& Q1 O3 e1 |6 Z I
+ w7 y2 |3 I" Y' R
- A M" q( e& L4 ]1 y7 ]- p
- u! r, Q+ O. t0 B3 [8 B( T5 O% h! `( t
gen maxp=`tempmaxp' in 1
/ \5 _/ H6 ~8 J0 z/ B . h# N' _; n. y" _
*240maxp+ V8 ?. L- y* ~. y
( o o3 L' p N* i/ O * C2 W- {% _& j8 Q
*-------------ddy240pminp左侧高峰值-----
5 L! F. |8 L3 x$ |! D7 Q# @0 f% g : }2 O6 [5 E9 T/ f) j
preserve 2 `- M8 W) i* k2 I# E* [/ w8 S A
: T: d! \, t+ R
keep if dx240<`tempminp'+ b! \( C5 N4 j+ x5 Y b4 S: F
/ _: r! U! ?9 d/ q& @
keep if ddy240>0
6 n3 N9 _# Y2 x; T2 Y ; e m# K$ h' O3 u& {3 Q0 H, k/ D
count2 g, n# o3 D& p: Z9 U6 P0 s
2 r8 j/ S) W l. C. h) ? if r(N)>2 {
4 t) W& Q) ~* n% l1 f6 q
9 `# ~0 [7 d% ^, `7 k7 W" J& F pkexamine dx240 ddy240
$ |7 B1 f s# T3 Q& a
* F- Q1 g) o0 H \* d* D' s' L local tempminphddy240=r(tomc)
; ^) R9 P; i, V3 ~ restore% Z, K5 X7 e/ C c# J2 j
} T# _( p' m* h" {; d2 O: q, E/ B
7 k- P# c$ e/ R7 H$ D
else {
4 K& D$ I, A6 e; a& N) j$ x restore * L5 h9 s. I; }9 @& ~
di "cannot find pminphddy240"
1 @. y6 C9 x, U* u 8 T1 a( {; w; g, |8 P8 T2 P
5 M: @9 F a) h sum dx2407 L+ z6 ^. l( v) z7 L
local tempminphddy240=r(mean)
! \" e. G0 j( J" A/ @ 2 R4 W$ u* m! g
' k9 y1 p: o/ K* F: I" { }( l' W7 _# r# H; ?
' q1 T0 c" w+ P- p/ n5 \, E3 y
& x1 f" e3 m7 s2 @5 a: c) z
# K4 h: Q/ H$ Q9 e2 x$ ]
+ G9 Z6 u4 g9 z# b& H3 Y7 k/ Q
/ ?, {1 k+ h2 {: c
: T: a/ g$ u' X/ U3 F6 ^2 E
gen pminphddy240=`tempminphddy240' in 1
) x1 e+ e- N$ ?* R, P# [
5 p0 c& q" y8 Y& N% Q( v& j
/ V0 @: h; L$ k, I *-------------ddy240pminp右侧低峰值 -----------------
& |( Y6 D' h2 l preserve # r2 ]) k- n+ K% c; \0 R' u. h
/ z4 f$ @. y4 V keep if dx240>`tempminp'6 x4 C( R: [% U8 y. G
) |: C2 ~5 Q4 m8 ~0 m keep if dx240<`tempmaxp'
- Q/ y7 s( {& f' O! C
# D" |6 D( Q. O, U keep if ddy240<0
6 G# K$ X' k2 ^2 L5 d, {, C 2 G ^7 G6 ?! ?3 ?* G8 v
gen temddy240=-ddy240
6 o c( Y! m. U- [$ X % |$ l- r9 P# u0 a+ m2 d9 q
count
$ Z4 H# [ n1 D7 w+ M ; J" b/ v$ l1 b9 s% X
if r(N)>2 {3 ]4 H1 Y* X- C) u% u1 ^8 K
! E' M2 a4 S8 _9 e pkexamine dx240 temddy240
# j6 Q+ Q& x% O& W l0 Q0 l9 I" O - P0 ^9 i7 a: y9 q1 K' z
local tempminplddy240=r(tomc)
6 y f' c: ^$ a7 ` restore/ }* G7 G2 v- n0 s% J
}/ X1 t- l( h/ T6 t* U* S
3 C$ S* D$ q* s }
else { c- p+ i6 P- P. P9 ~3 s5 v# X
# ^4 R( X y; X di "cannot find pminplddy240"
: z2 z% [, Q C6 N% H restore8 [# ~, W4 w8 D/ {
$ c+ {1 [ F, S* T. ^3 Y! ~8 @ sum dx240. I% q! h+ Q3 Z! x
local tempminplddy240=r(mean)
- \* G# }0 O4 Z! _' s7 v6 ^ ) R- [4 i) x* e( q9 v
- \; H4 J. m" h5 H6 O- T }' F- D3 ]5 q9 i' ^5 K, `, A
5 k+ h1 I" `% C: c6 s1 g/ _
2 V$ p- \* R. f# ]* h' \% i
. n$ P( Z4 l) k, n& o/ S/ k2 | G+ P6 q# Y/ R& ]: I3 F2 u
4 V: o+ u5 q: E. ^1 h; ?0 C# \# ] gen pminplddy240=`tempminplddy240' in 1
2 T2 S; g q* b1 B. b1 V
$ C- N5 H4 ~& _+ q *-------------ddy240pmaxp左侧高峰值 ------------------- t- j; Q ]4 |1 u3 N
$ D; u3 t( J- W7 S
preserve
# a" C8 [2 o8 q: s; H M! e4 G 9 e5 T& k2 D2 K" w0 q1 l
keep if dx240>`tempminp'
/ F- D4 y, h& {/ h( v. o7 g / [ N# I& O9 L8 \7 m% ~
keep if dx240<`tempmaxp'
) \; n* I. t. v- [. C# Y
" [- q# g* P+ S1 o) A, B keep if ddy240>07 C) C2 p# R, A7 Y v3 z* _3 [
count' B( n0 b; ?" `: ^
1 g, t: \* {2 E" y6 e) }3 A, _% ]
if r(N)>2 {7 T% n! k( _9 ?& K/ V. z- b
, J+ \- F3 |1 C
pkexamine dx240 ddy240
" P# g- ~9 A& n: p2 K
& A* {$ D$ O6 e4 T6 E local tempmaxphddy240=r(tomc)
; n0 e7 N0 \; D1 c 8 A5 F& h0 G4 }# b8 G/ q8 a3 n
restore
2 s- k5 \( o! b. w$ y+ p }
& p2 Q0 c" s# s5 d) g $ p! E# c1 {- i+ z1 I0 ?( `- E% B/ c
else {& ^9 b1 v: \! J6 a# @1 g$ j, j
6 n9 C4 B1 m3 `
di "cannot find pmaxphddy240"
3 r5 |, E( k; b9 W9 o, C restore7 H) N+ V8 t1 v. }1 \" X
& _, h4 U2 H- s) g
sum dx240
- @2 ?$ m8 H1 ~( O local tempmaxphddy240=r(mean) 9 }, l1 c( Q, H
) z7 Q) z$ Z3 S9 E0 ^) g3 l3 x
7 T* I7 M/ j5 b2 {6 c }
* Q9 w% B% \4 k) L
9 |. V! O. ]7 z. K* W0 n
# Z( {9 p; G* ]* J# {( V' g
9 l1 R' Q# W/ `7 M: n+ x+ { ' {9 I. E% ]/ F7 Q1 S6 |
% o$ f- T+ p) a3 r8 x
' S; h( V( @( q; v gen pmaxphddy240=`tempmaxphddy240' in 1
4 u& G/ V( U( s* v
$ Z2 h( C' r: V5 i% ]& Z, F5 Y% H + I. S0 o4 r' Z. q
*-------------ddy240pmaxp右侧低峰值 -------------------. [( f. g( N& _! F$ ^/ o) N1 a% d
% o. D' ~5 f! E1 ^# _
preserve
( m# e5 a/ K7 a% r / T+ ?9 Y1 \0 G
keep if dx240>`tempmaxp'
( _0 R4 ^7 g! [" W n
: @3 I# l& F' G& ?' A/ u* { gen temddy240=-ddy2404 ]6 h3 r/ @+ t
- {( ~- F) E" ]3 A# Q, e T
keep if temddy240>0
. u% Z- B3 T" h ~; j, Q) Y . F' U9 |% [4 N8 V. [
count) h9 ?& p" c) F9 [) E" d- w t- g
( q, d( M6 O2 I- ]5 H9 r- z- d- J4 B) k
if r(N)>2 {
1 {3 }! J: e6 p- Y
* j6 _$ [0 L: x( d& V) H. g6 D( ? pkexamine dx240 temddy240) F$ E$ {) K H
* B- J. Q( K+ @% `$ J5 T local tempmaxplddy240=r(tomc) + p* @% r7 i+ e, ~
restore
: j+ Q T6 F$ p W7 I- P3 z9 R' i }6 l8 p7 b6 _5 U
; a `" ^5 Y- h' ^7 k
else {
/ e, T1 y' O+ z( J% b% j restore
0 X3 h. M- M) S: d. }1 w di "cannot find pmaxlhddy240"
( L/ k7 {7 h5 ^0 H ]( t' l! v * }4 L% `4 T }) d
" @/ ~, V: _* n: a7 z* r
sum dx240
4 u* y' l1 v+ U1 G# ^ local tempmaxplddy240=r(mean) in 1
* s0 C0 i" [5 K. W" L
* E5 ^: w3 T! K
& H6 [8 r; O5 N1 P }
2 U8 ^3 \9 c* O8 Z# K) K : q3 e- z6 X$ m/ |7 Q* A/ C' v7 y
. H8 k& ~+ y$ P! {' U
9 y# k' G! Z0 r& ?7 f" K 0 f9 v7 l. k9 i- a) Y, @
5 g) D1 _/ H9 o+ X3 A0 {9 L; n( w% A
; y$ M+ j3 ~6 e7 M gen pmaxplddy240=`tempmaxphddy240' in 1: p5 G. \. F2 N& M/ r
' U( P& P* A7 _$ {/ c+ n *-------------------------------------
8 ^ ? i. }9 y
, u$ c9 ]. c1 l3 z: n, [2 i. P gen price5d=v5 in 1/20
3 n1 K1 j' H* c$ z! [9 U+ u! O, \6 s & V& a" H, [8 n
gen price5yy=_n in 1/20: W0 k( ^% y2 E; A8 x
* z0 w H5 p' a" P; s9 o
gen price5y=price5yy*(dy240max-dy240min)/20. e4 L' t5 L( y" a1 P
2 X) n l% e- u% a *price5y &price5d
" r/ v1 H2 y, b4 i% E : F: x1 c) P& D8 r W8 [
gen priceny=price5y in 1
) W6 a/ d! z3 R9 N, o. B
6 w6 T4 R6 u- J gen pricen=v5 in 1
% N$ `+ q' Y# ]8 k i4 u: u( W. H4 t' |
5 _' W4 I( k$ i; D *priceny &pricen
! @( n! r' Y: z( u+ h # R) s/ S2 x' n/ @) \$ L/ j; ~# C9 {
/ J8 n1 b* N$ Y
*-------------------------graph------------------
' S5 j2 s) W7 _7 J
' R" s8 Q/ V1 W( i3 x4 G+ X tw(line dy240 ddy240g dx240)(spike yxis amean,lc(blue))(spike yxis mean240, lc(red))(spike yxis maxp, lp(-) lc(black))(spike yxis minp, lc(black))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean)) (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)6 {# G2 U. R" F4 p) i8 E
6 H) Z# C) S4 @0 O
* ---------可选项目----------------------
! p' H; ]* T B. }, w: b% a+ C
/ }, C5 s- D! q8 G$ o# m7 t8 d}
) S- n) g0 s5 G4 |9 I9 |end9 ~4 Q5 d4 o3 I: z+ P; G& k
|
|