|
|
改了一下,这次运算应该没啥问题了
% |4 W3 p& a4 B8 f2 I) {6 V2 r; z5 ~0 Q
* l Y, Z) j) C B1 ocapture program drop hello, |, { c) ?0 B( p5 n$ }
& h0 i0 E: @. x
program hello
( q( a9 d3 P( P# |. @8 b
. ~$ q+ G, z" o5 r5 [) x( V quietly {2 g& l8 M. w' D6 P5 z
8 ~7 V) Y$ E7 m$ q$ S* wclear. f& c! A- ^ p% A) N
) ?' t7 ~; L G5 a! J% r
cd e:\finance\stock\20110101\source
; o( x' g) b; u6 O# o7 F) M9 r# D& c1 v7 P7 O
insheet using `1'.txt; z9 a( l) C9 _/ w. S. ]
+ ? {8 p1 d: |, v! A' W1 N
keep if v5>0
- ^1 v+ m7 p" k f0 k& n- P . m! P6 b; W% j, e5 C a- ?5 q& }
gen vt=_n. p+ k2 Z& L. G6 L: O, [7 H3 C
; H1 A0 {' \7 |/ S4 j8 D
tsset vt
8 ^5 N6 K3 q* x
@' {, k; v& b* t% K, u) i' l gen zf=D1.v5$ i! o: v- a1 T* p
z8 K2 Q+ x; A3 d8 C' j$ j gsort -v1
' z* b! j! Z: w4 P. D/ G) k' w1 @ ]! k* W" O! d7 Z
gen avol=v7/v5: Z$ _7 M- ^$ P# K) f
7 I* {, [5 Z' }+ N2 ^$ t
keep if avol>0# j5 l% y1 G+ t$ [5 g2 d6 e; u7 o
9 v- X2 u5 w$ e3 d% G/ ~# A2 ^
drop vt. h) W. N) u; F9 f
: I- h( {( y, d0 S gen vt=_n
# T2 y4 O2 b3 e: D8 H6 V) e - E, s4 R1 f: W. }3 k3 F2 i8 G* ]
tsset vt4 s+ R$ l1 ?6 }3 G
8 N3 G9 j0 `0 r6 n5 [ sum v5 [aw =avol]
: m. ^+ v- Z$ l: t+ Z# @& ^5 [3 s0 x9 n9 @$ k) x
gen amean=r(mean) in 1) K* j( g' P0 W# v
, ]3 B7 j) R* d' ^+ q * 总加权平均值 amean6 N! q/ d: i d# ?! V
% @1 R) ~6 r/ t4 O* F1 Q O# u: M/ j( }1 T6 q9 m% y- T
keep in 1/240
4 Y# w8 r; o6 C8 M7 K. E
4 p; C8 T' J4 f# O% Y: a% `2 e3 K sum v5 [aw =avol]
3 n! X S0 v$ I. A- J
% l, l ?) P. Y0 U: n5 z gen mean240=r(mean) in 1, d' v" h7 e9 H+ J5 ~2 U: Q
* P/ f9 z! J7 G$ O1 I) G4 H! q" k( A: b *240加权平均值 mean2404 r6 j$ |; Q" p4 t
. _$ a; T2 H5 J8 p/ h1 s) ?
set obs 500 ; E; x! c5 u6 ~& k
6 z t3 }# I! J% }4 E
kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph
$ e. a( x9 I- w8 g& P6 L" I. n 8 T, W+ w) d. v6 {& t# X, j
*240 kdensity(dx240 dy240)" W N2 y( R5 l b0 T+ | E; L
. n8 c2 c" [- ]# o sum dy240
B" f* R# N- a& E # i W% a" A. |' I
gen yxis=r(max) in 1
: }4 r2 r/ {2 B) z6 v- P7 @8 \1 ? 0 E* g8 q+ h! I! ^) k
gen yxis2=yxis/2# l6 w: y' T1 h) F& Z% X
5 p" E8 d. _1 ?$ M# [+ p1 U *yxis
& ~- C* C0 l5 N" N9 c3 R$ d8 u. X
. L- j4 C4 v1 f8 m" Y0 x gen dy240max=r(max)2 P$ o/ v! L* `! n& m3 S
! t* Z+ K! P* |/ T6 Q* s- T; F% a6 ? gen dy240minp=r(min)7 {+ N, m% `; ~, X+ ]) n& e
/ H) i4 x( e7 c, N8 d gen vtt=_n: t+ f% e! \( b' K' F0 Z) G
% B9 C2 x& ^; c, E1 L* v8 v tsset vtt, N: p' M. j/ s6 U9 Z/ b1 ~# K9 O. P) n
4 U7 P8 Z/ U; y$ n
gen ddy240=D1.dy240/D1.dx2406 Q1 R" ^7 R! q9 U& v
) b, o" O( u' Q* M1 K: j6 J. `- X sum ddy240
! P: F! o, S3 a* a! r* X + x5 D- J7 t4 ~& j, n' f- |
gen ddy240max=r(max)' K9 q' \) A& \1 i' Z1 n
( g1 `6 x( N( l1 Y! b
gen ddy240min=r(min). M; b. e G3 o
5 v- o" d/ D6 R gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)% v$ \5 ~4 L$ S, R* T" p$ Q: t3 p1 v; P8 }
; r$ T5 w2 R6 X4 ~7 | sum ddy240g* H. u' L. f( b( ^5 {
* ]9 Q6 U5 [( i) h6 U# Z6 z
gen yxis3=r(min) in 1
+ L: @2 s2 K/ V, D& I ( ?/ m( |5 [2 h2 C9 j( |" o
gen yxis4=0 in 1
, {/ Z; q3 W' e. t 5 N, L& J: w4 p
*ddy240g
; n3 ~3 O: B/ k, f7 w" N9 L! { 2 Z7 L/ P" a# N3 @# j. l
7 F Q" _9 I8 n6 D* X$ y2 g) m preserve " J9 G$ `! w \6 s( i; a9 P
1 ~, T7 r; V# x3 {) S. T& W sum v5 [aw =avol]
3 \2 V& O4 N4 n8 Q" S, }0 O: |- s 1 V2 B" X% P" T4 {1 E4 I) z6 g0 m/ L
keep if dx240<r(mean)* @% z3 u: u) ^! u" n
8 [* p9 I( \ g sum ddy240
7 G1 b* V. I# a# ], z$ O* ?% J* C, A & \& n' I2 q) {; a; z( \
if r(min)<0 {
: e7 C/ y+ K# R
1 d! T5 |- o7 h& m1 S keep if ddy240<=0
H9 Z4 a4 J$ ^( @ * U3 }8 _% [2 d a$ g' L
count
8 @6 w9 L+ D5 Y" r ) i2 j1 u: S- g( Y6 Q
if r(N)>2 {7 g1 l; X% F& a
" p) p) D0 f, d3 i pkexamine dx240 dy240; G. ^+ y7 W# x4 n0 `& y1 N
3 J0 S5 R) a8 ?' z$ D
local tempminp=r(tomc)
" P! z' w8 [, k' S1 I1 @6 l% l: ^$ l restore
' d7 O: ]9 n0 C, p: Z }
2 s8 j2 l7 T& o4 y7 c
" J! @! S o; u9 u+ e else {
1 ~$ Q6 N1 D5 L! q2 I
" Z" Y: I- w7 R4 m* h7 h di "cannot find minp"
" P$ y# ?+ S) [" }, k" d
; b3 _* s2 O4 Q7 p$ m! ] restore
/ R: o7 b" A7 b- R- I sum dx240* Q0 X, U( z9 n0 @
local tempminp=r(mean)( E5 C" k+ \9 V; p
# |% O1 j m& n: E }
+ m4 |8 k% q2 T) M1 R# l }
5 ]# w, c0 E" \, h& c# @" I else {; O0 N- f9 d) Z. C# @% B. ^
' H8 A$ b7 U" w8 I( V6 _8 T& D keep if ddy240<=r(min)) C- t1 D" T: U
, i/ ~$ F! m1 y! N2 ?) b; H+ C
sum dx240
5 f7 M/ a1 C1 J' a$ B, | {* ~8 N" p- n+ A! d2 ^4 L
local tempminp=r(min)! A3 k( K) v+ }: l: r
restore
6 O, d, l/ A m7 X }- M |& {% l6 k
% Y% t) F$ T8 b9 Q4 M: @
- |9 |* g7 @! \: q! A
. t) @' `% n! |! ^/ v5 f: `) W8 l gen minp=`tempminp' in 1
6 A5 `+ P2 X( G# e) z$ g *240 minp; K3 R& P: K8 e
: D. Z7 V6 |- F- W
6 i6 H* f% S! u" w* t/ ~5 |' @/ ` J* m8 \; _3 U$ f. Q4 x/ }0 q
preserve
6 ]/ K4 ?$ C2 ], i* o# e; Y : V( ~3 v/ |* b, D: N
sum v5 [aw =avol]; M/ Y, M9 i: k1 c4 u
) u; C* e {3 w# B8 j keep if dx240>r(mean)' I$ d8 z5 h3 V( p
, n0 T9 i6 v9 t5 |# B$ { sum ddy240# x5 X. Q3 I' s0 ]6 A
9 t& C/ d% C; Q6 U
if r(max)>0 {
/ S; B; x+ b) n. w% S7 \
- t0 R: L' C" A$ L keep if ddy240>=0$ y# J! b p$ K. c& f
1 j5 I' H; {/ F2 x; J3 Q- K t( Q- U count3 I1 a& W' f* }* m
8 I6 O0 R- {2 M | x- N if r(N)>2 {
- ]4 o* F& x2 U1 i 7 V# A1 M9 n& I5 v9 K h
pkexamine dx240 dy240
/ Z, i: B9 Y8 v& ?% O# h6 Z 2 l6 Y6 U/ w5 P8 u7 T
local tempmaxp=r(tomc)
# X2 B) H. Q8 I( {! ?$ Y restore
9 ~+ B; i; s U* a9 r' ^8 { }4 t q* ]9 z% x+ y p7 \
7 B+ f3 L: g- h1 Y: T5 i4 w
% t5 p3 i r; e8 o q" t' c else { q) |. F7 p u+ A* q9 E w
restore $ i& K# b( ^. [6 P
di "cannot find maxp"
4 B9 s, Y) w2 A! f + I- @: }+ R. w2 c) v
+ v) t7 O& r* W; T6 r) F9 w sum dx240
+ g* z! q/ @# Y- N; B6 { local tempmaxp=r(mean)0 {2 t( g# M' v- i8 S
2 ^" _) ~9 v* A Q3 C6 J2 A5 ]
}. X* L& }# |" f9 F0 g6 l
6 X: f7 G+ v D. N* R, h$ H; M }/ F! }$ m6 P7 x
5 f; K! ^6 Z1 j! Y- _, @ else {7 o0 R; H3 l. q8 r$ V
, w: x0 q* Z* J, ?7 _* E5 x keep if ddy240>=r(max)4 `, Z& A+ |$ i8 R* Q5 N
, ~0 Y4 b/ z: F% S sum dx240
T _) u& [3 `3 B
5 y5 A7 X5 O+ [9 e' o1 l: K1 R# Z local tempmaxp=r(max) * U: i- n) C+ R! Z9 e5 m7 \& D" }
restore v+ o, G y! \6 n, w- g) H" M: M
}+ @! q& `8 S7 ~; u5 M; \5 I
2 D/ U# T, e( @+ n
+ n0 J1 p" h6 ]* n( L9 U
* d3 K4 Q- v5 Q0 j! f
$ b l/ { o* L: l- G( w gen maxp=`tempmaxp' in 14 d1 o. h0 e/ L
) N, _% ^* |5 l# d+ d% ?$ P G- S
*240maxp
, V- A6 y+ w) c ) h9 ^9 ] Q6 s
& z" r) l9 |. Q1 r5 I8 k0 s6 g7 m
*-------------ddy240pminp左侧高峰值-----% m6 E! _0 c# J" n7 \
$ N, d1 q8 i6 w$ g5 d* w& f; y preserve
9 v9 Y3 Z2 N. r) A! k 7 x: B% j4 l* d; h% n, v# Q
keep if dx240<`tempminp'5 B* V. l( [# q# S6 d. t( P
( M5 d9 l+ X9 q2 E+ v3 ]9 f keep if ddy240>04 |$ L; {, Q6 v, }2 e' ]
( m1 a) k$ Z3 @+ n! D4 z) u
count5 O2 x1 r' \8 J: V$ J: `' \9 ]3 @4 J8 b
5 g9 c9 A6 V& N. b' O
if r(N)>2 {
1 H* g( f- Z. C1 h% W0 I% f3 k 6 H6 x# ?! O' C# J6 e; S: Q
pkexamine dx240 ddy240
" P; ~* ~9 d" V7 \. Z; }9 K 0 G( u. ?5 ?3 _3 u# L9 K, X* Q9 D# b
local tempminphddy240=r(tomc) # s# _. |* S4 _ c" a- V
restore/ B( ]" F' v: v5 w* n0 a
}
c" K8 \4 w" I! V( Q z8 B, k- H" Y4 f. @3 I5 ~
else {3 R: i( p; q/ Z) V+ a4 d
restore
9 W0 z* w$ l& S1 a di "cannot find pminphddy240"
+ ^2 m e$ U1 x; ~$ R4 o# N
2 e% s6 w& l, }! \/ I 4 S0 j0 s' i$ u# J3 Q7 ^# Q, T! f. I
sum dx2406 j, I: l$ A6 F
local tempminphddy240=r(mean)
* z$ ~8 G, K0 K8 q
5 r5 ]; w7 Q4 ~, o& K) D7 y7 H
+ c7 [! G+ j. r& A }. m! `) b* C3 p
/ Z5 l& Y1 Y2 Q
+ H) B( l" @1 O7 }, x$ e$ g
. S" U5 X6 `5 B8 ^
- `% P3 d$ r9 B! N
. w. [8 Y7 _* \3 c # |2 K' E3 J; ~
gen pminphddy240=`tempminphddy240' in 1' m9 h p- r9 c7 b2 V
( [$ e- R: U# ?; y
' T. J" L3 D8 \; |% Z *-------------ddy240pminp右侧低峰值 -----------------
* O* G: [! d( f preserve
) |% }9 l! F- v
( m# G' {- R, o- _/ I$ H2 r9 ] keep if dx240>`tempminp', u! @1 g# k' i+ o, ^/ M6 S& J2 G
0 }. w5 e' n$ q6 D( O" r {% Z
keep if dx240<`tempmaxp'
" ^4 D. {* G" b0 ? S1 X' R% e& T& u( n {
keep if ddy240<09 x- F, `: Y8 p( B' J ?% p
- h' W* X# f7 T6 n2 ^ [
gen temddy240=-ddy240
" {5 p& g; T. ^* {. c% { ' T7 w& h8 x$ r2 s c w# ]
count
! R4 ]: {. r* Z. ~
" t2 x- M) V: @1 K: |( G if r(N)>2 {
- C9 R% Y7 F0 X - g4 ~1 z/ a# ^0 |1 C: T' R
pkexamine dx240 temddy240
1 W" b W: @: T% E6 T- f6 W . c9 G0 p s( F% q9 i+ u
local tempminplddy240=r(tomc)6 \0 m, u" t2 X6 R( ^7 w/ y7 p
restore
4 Q" t# `$ e. U# F0 h }
! T1 Y2 N7 P. x3 ]6 T1 S; B S" q ) i6 ~- F9 q- Q% f: M& Y& U A
else {
+ ?2 E2 T# @( I+ s) n4 t% a 5 w$ M$ N3 p C5 t- _7 l
di "cannot find pminplddy240"
- D0 }& c6 _3 ^$ V7 _- h& a restore
- k# Z2 I2 J4 R3 K$ F# C 6 E; e9 q: I9 k) d
sum dx240
) M; T0 \: z2 b' c; j) I local tempminplddy240=r(mean)
5 t6 |$ i- b- w7 g# o& t i 0 {/ C9 G& x" x* ?# i8 O
" v1 s* d0 `% n }+ t3 I: E R, w" H& ^6 h
) k/ _5 T3 u5 P9 Q, I! y1 L5 c2 O
, j J* b7 P/ L3 t- l! `
( |. C3 E4 c# M `
" S2 t6 u$ K" [3 c* c' U! \* s 3 G; a. g) U) D q w' O& V' j6 [
gen pminplddy240=`tempminplddy240' in 1) a( P+ I2 G+ U$ P# o2 B
3 B5 q3 t9 w* X1 r *-------------ddy240pmaxp左侧高峰值 -------------------
6 m# s' l6 N8 y m' C6 n0 I3 T7 [
preserve
; m) U: N }% ^* ]8 t
( f. a Q$ V, A; o! \. z9 B keep if dx240>`tempminp'
1 p1 v8 v* [5 j$ D6 i/ d$ X
3 x& ^9 U9 R0 [# B% k$ J keep if dx240<`tempmaxp'
; H* }! H8 M- o- ~" }4 H
2 C6 U5 e7 q+ {1 F7 X! H% d keep if ddy240>0( }6 L' H5 q. S8 [- @8 ?
count, m4 J2 c7 e( l( [
" e; z; j9 g2 |4 H- M Q# w; o
if r(N)>2 {
8 s; V( b! |. C" w
, M, m5 I" k6 l7 ] pkexamine dx240 ddy2400 p7 W) u5 G* n" @' g! T- h% \. F
w: D4 g/ a7 m) x& J& R; J local tempmaxphddy240=r(tomc) ' W |; f/ Q# E9 Y! C$ ]
6 M, {) ~9 S% O( S# C restore( s+ J8 @% p, ~- l+ p- B {
}0 ~- F9 Z! M; h3 v
, ^* Q3 z. s1 N( T0 j A( j else {
& L p: i5 y2 R0 m; P 3 a$ z# v) X* i- v) z4 n
di "cannot find pmaxphddy240". W2 I; k. O/ B0 {9 U3 K
restore
9 m: [( t3 l& l/ i( z : c$ q- P- |! z* t
sum dx240
+ l, |' u! A1 X local tempmaxphddy240=r(mean)
8 z/ i) T/ ~1 `- {- g. y & }& k0 a, j' v. D' S1 B
/ M+ F; V4 Y* a }2 C8 Z# D. q/ {+ C
) \; ]) t, [6 s( |' P 7 @8 n* I$ H+ b; h9 n* U5 V6 m: Z
9 X) M- G& }1 L( B" p+ L
, J0 d( K8 f7 x) q: T3 ^# M. Z
0 K" I3 j, z( E3 `3 } * K" G: u; `3 s4 J- X
gen pmaxphddy240=`tempmaxphddy240' in 13 R! \0 m+ x- l$ {8 @4 J
/ j' ]0 ^& [/ j1 B% |: }; H / o+ r! H0 c( t9 _+ h- I2 ~6 s
*-------------ddy240pmaxp右侧低峰值 -------------------$ Y+ a: i. f+ }0 c }% l4 ?
# s3 Z$ ?" n, f9 p# K* r: b3 s
preserve . G( I* O0 ]* a4 h# ~2 Q& }$ ~
( o. _: ]. j9 ]2 U
keep if dx240>`tempmaxp'5 P* {) }. f) f" N4 T/ H
* U5 F% q8 ]+ X( }+ e. a6 }0 w gen temddy240=-ddy240
' A$ H0 x# Z0 y ( m( a- p; m+ K; \. g
keep if temddy240>04 u; Z' k; J" L3 Z0 U
( s( z2 g- k) s; t4 u0 R/ p
count; _. P7 d/ J- l% f2 p0 l+ E
1 T, f! w/ V5 Y* @( F/ I& a if r(N)>2 {! X. e1 h. h$ `
2 o; I! N N# Y9 B1 ~% G; C4 J
pkexamine dx240 temddy240
/ J! l5 p* G" _! v
" N. l/ L# S& S local tempmaxplddy240=r(tomc) ) z# c/ _4 z: J2 h4 g
restore
$ ?2 C, @4 a4 y4 L& C: R }. V8 K& t& P8 H6 y
5 R+ T$ { B8 n7 z else {
9 B& z2 I* `* s% A( u restore( T4 M& E+ Y' i! e- ]
di "cannot find pmaxlhddy240"+ Y& F6 W: e+ }
I7 }' ~# x: k7 y \) e4 j- S
4 k: c& t1 Y8 @0 k0 l& \
sum dx240) C' z1 |) i5 m$ P
local tempmaxplddy240=r(mean) in 1
@" ^: y2 }" o( Q! j# T! T
# f, L4 \6 H& s1 _+ o4 g9 n3 h % ^9 A2 x9 f" L
}6 b# x3 B/ I# {, Q
, u, m' E: V& ]" w
6 c' x& A% F. K2 r/ y
+ U1 a5 Y1 e, k e' { E5 S
2 X ?9 P/ H$ s: Q U1 N" m
" y" ~, z3 U( W ( h3 p$ @' B/ e. z0 H1 |
gen pmaxplddy240=`tempmaxphddy240' in 1% W. l+ f4 |9 F% D, F X" w0 j
- Y! n; {* d6 |. b {1 q
*-------------------------------------
0 H! c, `" D% f
/ ?5 ~4 ~" U5 c# N9 C# ? gen price5d=v5 in 1/20$ y. \1 T8 [) C3 l+ k6 B
1 L1 r# N. _! Q* l gen price5yy=_n in 1/20
, J5 t$ V5 n- N* Z) f % f M- T6 [; Z
gen price5y=price5yy*(dy240max-dy240min)/20
y1 X: d8 Z" j% I5 V
4 C& c+ y$ D( U/ C6 a3 |0 O *price5y &price5d, k" }5 {* S/ c8 ~8 t9 R' R3 n
# X0 G4 \$ N( r" W( l gen priceny=price5y in 15 S# C/ ?4 Z7 k% w: `+ O
) @) @& r; n3 H0 H# p gen pricen=v5 in 1
/ }; ^" V/ v1 \; n" h$ Q) w3 Q+ Q2 ^; n/ Y2 S. u8 R
$ |2 k: B% `. P H' J: P
*priceny &pricen3 c. J/ D: S5 j" q
) `9 }* D+ n8 a
7 x1 g1 ?! u6 b) ~; W) [8 T' v8 D *-------------------------graph------------------
! |& e$ D+ }+ Q) k9 P
5 D% I" K& q3 t! k 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)$ H6 K. o( \+ ^9 E5 A
9 x# Q8 L( A8 X; @/ \% a9 Q
* ---------可选项目----------------------* f8 c7 h; f8 Y& |
: Q+ y a$ i% i& U% ]& M
}6 h6 h" b8 T+ E; c( t
end
- \ P* E' l1 f/ W& R. E: G" { U |
|