|
|
改了一下,这次运算应该没啥问题了* g9 Q+ m, }$ Z5 k* G# ?. h
/ } v, v( R: z8 O8 u3 P
% N- g# F$ W2 m/ G! G, D! Ncapture program drop hello
, [- Q8 m$ F" h0 l9 J6 E( }" h, S' s4 z
program hello6 A# l, D" G/ G5 z, `4 m1 z
1 E+ W# R; x8 J9 z6 Q/ l4 n0 Q, |, u quietly {
2 N. m1 u) A7 ~% Q, g7 m% ?8 [
% |# i, V: }' l$ f2 H* ~8 x% Mclear5 L- }1 r, s; ]8 e$ c* f
" e$ D9 \5 l9 y- y. t4 n. Vcd e:\finance\stock\20110101\source2 p5 D6 E& T* b7 n. ^1 J6 K
+ \- ~3 R# g2 Q7 k7 [1 B1 Xinsheet using `1'.txt: X, {( W1 X2 @0 E, H; u0 L% s& ?
: ~' z9 A Y. }: W7 a' Z
keep if v5>07 s# x; j. s" ?
- g% d$ X% }4 S1 l
gen vt=_n* b% p( }7 U1 g+ {9 c3 [! }* P# j
: d. M0 y K8 \$ G" z
tsset vt- a! H5 b' b' @( }: F* j8 h
8 C5 @& A1 ?$ Q) v" H" A2 X4 H
gen zf=D1.v5
$ ~& ]" e. r' ~4 d* G: L
; H& _7 Y \8 x, e N& d! j' A gsort -v13 z) ^( t6 p! Q0 E+ S
! L6 ~8 I7 o9 U% C3 y+ Z' t
gen avol=v7/v5
/ `: \& |3 t' c# D7 n8 f1 S k
; w: z9 l7 s( {* w9 F7 J keep if avol>0$ x8 t( U; F5 B1 C9 ~
. H6 c7 U1 B4 i1 c1 v
drop vt. e0 P$ ]$ f- T0 P' u" ?" x" e
" b4 J, S' a' h" Z
gen vt=_n, R. U5 \, x/ S& E* z. B3 |
: a3 S e3 _, A. x$ `9 O& Y& ? tsset vt
' {5 c1 Q4 G& z/ q4 Q0 e% G- V3 a- C 8 g$ ]) O1 W0 R8 p' Z) l
sum v5 [aw =avol]
) K! {/ v7 W8 h" @ a5 r
- n9 J8 T2 ^7 `5 p8 _ gen amean=r(mean) in 1
7 x8 u% P2 n- A& P
$ p/ E- J$ ]7 U) W. X. c# k * 总加权平均值 amean
6 t0 C F- |/ c, Z" [! _" [* i0 L1 q 8 Y* ~+ V. W+ W. O9 ~/ E0 z
( S0 y$ A' l0 L2 Q" K keep in 1/240
, z0 t/ Z& \! K U8 u1 D
- M1 M5 \1 L) z1 p; p( t" x6 T sum v5 [aw =avol]7 X) ]! k! d+ [+ d2 N' f
9 R* z: d' A' Y# G+ n
gen mean240=r(mean) in 13 H+ n' B, s6 v' `
" F! G _! I' @: J3 b3 h% ^
*240加权平均值 mean240
( K* I. e% k4 e. X* ^! y6 M
9 ] c5 M2 \: I3 z+ z- r set obs 500 2 E( v% G8 z! |2 X. r* v1 w
X3 ]( }. g; Q1 F+ | kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph' W" {, p* [0 H& n
2 I! J: F, @+ H; f5 h2 h% y4 _# P
*240 kdensity(dx240 dy240)4 A- c, ^, L5 `8 k. Z
0 ~* I- p( @& C5 F5 g' p1 D
sum dy2400 k/ a2 V, n& o$ O+ b
$ O& q9 H: E2 c) c( ^. b gen yxis=r(max) in 18 N) B7 B0 ?5 c L, ?+ }6 m
/ T; S X& L/ { gen yxis2=yxis/2
: w4 ~0 X2 t4 r+ X7 S+ a % a, K3 h5 [7 E* E8 J
*yxis+ C% j8 q1 f! y w* I9 [. @
3 ~7 ?! W' Y4 }6 M3 h/ k
gen dy240max=r(max)
) x$ w# E/ a* q" a2 F6 r
* Y) F& \# L% \; {4 }6 I gen dy240minp=r(min)
5 I0 {! _: n' g4 g
- Q9 w) I$ g5 T, V gen vtt=_n
4 F: c2 l9 k1 {$ h3 T! c2 J1 q# ~
8 E8 f! ]; C* z8 b! u' ^ Y4 c a tsset vtt
8 j) W4 y! x5 p4 ?5 `: e
3 J2 z8 ]7 B# n" ~% f! M3 z1 e gen ddy240=D1.dy240/D1.dx240 i4 [6 z' e. |. ]: P2 s
) Y9 M1 q& c- z% e1 m sum ddy240/ @( l( M. i. {9 g, Y8 [6 m1 w
4 l9 w9 a# D5 ?
gen ddy240max=r(max)
: s9 D r" Z. o: L# {4 [' R
4 z/ {) D; U- F/ [* f5 L7 d) w gen ddy240min=r(min)7 R2 M5 F- X5 F$ q5 ]( M
* W# T0 O( V& Q" M" a: Z
gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)
0 l- A5 }' S4 m5 |8 R9 b k6 O4 t* H% I2 c; _
sum ddy240g
8 r# f- T* p2 t* O, w ! }4 ~5 ^: z/ u
gen yxis3=r(min) in 1
/ |! r) n8 ]9 d( J - f2 i2 z* A; {4 S# K v
gen yxis4=0 in 1
2 {6 x% F7 m$ t0 k) H
; q, P7 W4 H& N3 ^9 q3 X# o *ddy240g
6 ~6 V, Y! ?! O# p- z7 e$ c" o
$ ?' T4 e- g% }9 \$ S" c* A( V ; J- |8 u4 Z+ e! U2 g; w. v' ?
preserve G% f* H. Y3 f. k& T' \) N
& q) q# v* X, E ? sum v5 [aw =avol]6 t7 k/ h+ W2 @! j
8 ? E' h* v5 X* P6 b( R6 ^ keep if dx240<r(mean)
3 }2 L& |" z" K/ R
% u3 k7 z: B5 C4 ^ ~7 c* ]4 i sum ddy240
4 G& {. m1 z& A+ U7 t: u9 W4 O+ ~
7 p' f( v# h% b' t' D5 f' B if r(min)<0 {3 t4 T* d( ?( t/ H3 S8 r
6 [3 ?; R- C$ c3 e8 z
keep if ddy240<=0+ H) o7 p7 t# s/ f) d1 [
$ h: w+ i! R, P: `$ S8 w2 _
count
% z( _% p, B, J1 D
1 i6 I9 [7 [8 `) P7 x if r(N)>2 {
; _7 Y o+ M. y: g8 z1 v% L4 t6 }
/ n" d: {# X2 m" B pkexamine dx240 dy240( C; Q/ R# r! J! O3 [
) {8 U- e. u- L$ O/ H
local tempminp=r(tomc)2 J. P; {8 k, z
restore 6 T+ S7 t* m9 N0 r
}* M0 l3 C3 R/ ]; ~, V
: y/ F5 U; G8 t( s
else { @( I0 [7 `5 o& c( h
2 k" n% J' {4 q di "cannot find minp"/ w! N" w; F" H+ U1 A7 t5 x7 l
/ S3 j3 E8 S7 Y& N/ I
restore y0 d7 B/ @+ s5 q* V; N! D, z
sum dx240
) d+ |* g% K$ h) @- F local tempminp=r(mean)
4 y7 p. b9 S* O8 e 9 ?$ L g% F1 B' L" P" K
}7 T( Y, ~3 u) r" M
}
7 X) Q8 k J$ Q8 u else {
# b) v( h3 w; p9 } 4 R# R: ?" h. [4 F; i% S
keep if ddy240<=r(min)" D3 g, W# `, v
- U% q2 y- @+ T: ]/ N+ B- I
sum dx2402 m) K# M" A* n5 J
5 s' e4 i8 k8 O" X local tempminp=r(min)
9 B, S/ \- G! l: S restore
z0 i3 r. q; {7 \! i2 D }0 B2 b# P4 g: Y- `+ y5 Q" N& `& ]
8 y, [0 L2 L* c I- c$ `
5 w2 ]/ w i5 e& ~3 _
- |! J8 P. r8 G! @ gen minp=`tempminp' in 12 x- @! K" ^1 d8 H W2 {* l
*240 minp
0 I: q3 R. s7 q; a: N+ m0 m: n b7 J7 Y- i6 f* g5 F
4 l% Q! ]4 x- Z1 v4 _9 h
" @9 Q( E; U! S& z
preserve
; v! m4 Z+ g J& h. S 5 p& z: w: y! ^+ i- {
sum v5 [aw =avol]
- k7 P4 e+ V4 f ] H1 ^& W" x+ z7 E6 c
keep if dx240>r(mean)) Z. ?4 n, [) x6 Z' B6 M! x
0 R+ b, K$ @. ]9 o$ C1 ?/ t' w/ y sum ddy240, K! w# B5 B& X; t1 }+ [
2 e2 g! k( z" m, W# e- j- A if r(max)>0 {
$ k0 x7 W" w6 H' h6 }7 y# K, p/ T
/ ]8 K! b M* \) _ keep if ddy240>=0
! ~ `" ^' t# T. l+ _1 `
4 Y3 d. B V. J4 l count8 D3 F2 U6 u- t& y! R' k
0 j0 D9 ~: M- E2 P0 a- M9 [
if r(N)>2 {2 L$ X6 q' o3 ^
, O# K1 D: \7 ` pkexamine dx240 dy240
- X J* C$ t& X& t : b) @4 k0 e8 Z8 t7 J4 h9 G6 {
local tempmaxp=r(tomc)
4 q e' m, a% M5 _- K O restore ( x7 B9 F8 ]* }. o7 k9 U
}" E( V, z8 \6 g3 T
. R% ]& @" [1 Y& n & Y4 X" R; @7 e/ q4 i* ]
else {
0 T8 V0 B/ l- l' u. d( M6 u$ i restore - t5 Y8 a3 ^* s) K
di "cannot find maxp"( l+ ~9 O ~7 z2 V' t/ o6 c
) o0 b+ B5 a# n0 C; p9 @
2 s" f/ K; w8 T1 d# ~: }: h* j sum dx240
8 w. f ?9 R& A6 ]! `# w local tempmaxp=r(mean)' M; [! R1 Y) a3 P8 F
8 u* e; @. K; g- T$ F$ \ }
7 m9 j8 u4 ~ @, c6 t; h : ?. r o$ W. L1 K/ ]
}$ v ~" Y0 k3 `/ B. w
1 J0 ?1 x1 q% f- `+ K4 ~5 M
else {
$ z0 Y8 |* B2 V
1 M# M" R6 K/ \: Q, a4 h keep if ddy240>=r(max)
/ N+ k+ ~* L# m. v' u, {6 R 5 d* w7 }8 j' l: j
sum dx240
9 }& U$ c% p! v5 |- I) E; j6 x- x - t- p( ^' g- ]) F
local tempmaxp=r(max) 3 j0 k" G- n) l$ Q" Y9 V0 F- [# L6 b* a
restore
. g% P7 r( X% \: J }2 Y3 a/ U u N! z' T; @
5 `$ Z i7 A1 n' f3 m; o" I
$ l! b; L- Q6 e) b / L$ O2 o+ b3 |# U2 p5 V
3 I# R$ V, l9 y9 e# `. z6 m& |$ K
gen maxp=`tempmaxp' in 1
+ x0 d+ c5 ]* S# q# O
, v1 T' m3 P5 E7 \ O# @ *240maxp$ Z* a S+ z) o: f
' J$ V) X$ g, _5 B' d/ J
' C7 h% @% K4 V
*-------------ddy240pminp左侧高峰值-----
3 Q0 r5 b, N3 m% ~5 z # E& ^! o9 z3 f3 S
preserve 5 E0 d9 c0 h! V3 Y0 T2 f
- b- l# d: G! z3 B8 ^- | B( l
keep if dx240<`tempminp'
6 O4 x: x! j; ^4 ?0 e$ B* A
$ F) \( {. a& ~. L4 R9 u keep if ddy240>0
( w. ~0 M' b3 W7 D
K( w7 G" n( M count
' _/ h* G0 q8 ~" i7 d ( G4 ~" {& k, _0 ~" g" a0 p: ]! ?5 \3 H
if r(N)>2 {9 x; Z( J+ C! F' t; K$ Z: |
& Q3 K% B1 q T pkexamine dx240 ddy240
! F, F* y8 g! z+ ~0 J2 s
" L7 ]+ {; ]5 Z# O& { local tempminphddy240=r(tomc)
2 A! b4 M4 J' @ restore) n( k2 t6 i3 M- l) h, r% ~
}
" o# w8 h6 C: j% Y $ |& R( y" Y: U0 D) {: |& q0 Z
else {
) k D6 p! L0 Z: P+ X restore 7 H; @5 e8 N& B4 M
di "cannot find pminphddy240"% C* ]5 ^: F0 f
7 I, E1 i* w& ]# ^8 N. o
- x* J2 O7 {( h/ R6 L4 X sum dx240, [0 ~ u4 \( Z" S2 {% X
local tempminphddy240=r(mean) 4 \1 ^* k E& k7 y! o/ X
3 P k6 z6 Y9 G9 s) n% g 1 n+ N; ?) v0 S4 }
}
, Q8 s6 ~$ `0 ?5 @. `' [, K F" u$ j1 ~! p( }% F
8 X+ x2 w+ h: t y
) T3 K2 a& a+ x8 R8 z9 G. R ) e0 b; N# z# L# c8 E( \
% W8 w( ?* l3 N# W9 k6 w1 M3 t4 d
' Y0 R$ j( @4 e
gen pminphddy240=`tempminphddy240' in 15 q) [# Q7 w( T$ Z
5 J: e) ?/ }, m5 R% _& Z
0 V" X3 F! x0 V1 e
*-------------ddy240pminp右侧低峰值 -----------------
; P! ?$ _. D/ G m1 L; L7 z preserve
' b; s+ E7 ?- {" w2 U0 I
) n# ]( m3 {# R' T keep if dx240>`tempminp'
% M0 L1 n/ w6 S5 b " R4 ^: q8 s# U7 i
keep if dx240<`tempmaxp'. c; W6 f9 {* Q1 p' o& V4 u1 }9 e/ R
, Z6 g' F; X }0 Y# a9 L4 Z% }
keep if ddy240<0
+ j8 p( z$ r# F
3 M3 a" B4 w/ B& K' ~6 s9 l+ K gen temddy240=-ddy2405 z' ^) h z$ Y Y
5 u9 G" u! P- x u J2 V, u
count
$ J: l' U7 `6 O4 {5 @9 | 3 W7 F& q& m" Z5 n# e, |
if r(N)>2 {* j, [4 ?" t# j4 q; Z
9 q* k! M# V" S7 }$ {7 M
pkexamine dx240 temddy2402 Y) O* S1 }* l* N9 j
. ^$ y4 {6 }) N" X% k6 i local tempminplddy240=r(tomc)
0 r8 I4 _: k6 d2 |, z& R& A restore3 b @" F0 r, Z9 U
}
' z( b4 {& w+ b$ C1 ? 0 N2 p7 g4 M% y' `# l! u0 m
else {% D" I9 ^+ S: \ q2 t4 R
" b- }. v) j+ T f2 ] L5 [* J di "cannot find pminplddy240"9 D$ j- I+ T2 F2 S6 a
restore+ ^6 P% B2 @/ `+ p/ _
8 U4 u. s# K/ y: Q1 g5 F* P sum dx240$ A! {( ~# M' u+ d) l ?- v z
local tempminplddy240=r(mean)
# \) o5 T" L6 k3 G; Q6 H 8 o0 V9 ?8 f9 {- z6 H0 |; R
! ~) [: V; C, \* Q }
& u; x! m) A. e * {' b/ V; z. t- p
0 [4 P4 z+ H& G" e
, y3 l) c9 ^4 B2 Q$ @9 H5 | + K+ j Y' }' i
! c7 v5 h* `$ {: E* f
gen pminplddy240=`tempminplddy240' in 1
1 p" o% L: Y1 i- [ * w4 I4 U* O/ P% \0 V @% a
*-------------ddy240pmaxp左侧高峰值 -------------------% z1 x$ o+ \9 o! \
+ M) X: f7 U: k( W" Y8 Z9 m$ Y i% i
preserve / Q8 I3 W3 E. W7 J9 J
( ~/ b: Q% q2 t) C T keep if dx240>`tempminp'( A4 \, A. X u# y% D/ z
9 A% i3 R5 e( O( H9 I* c/ k
keep if dx240<`tempmaxp'
5 ]0 b+ r# L% C0 L4 Y+ v
1 I( |/ C$ k' S& i0 {" F keep if ddy240>0. R3 N$ \' W6 H4 Z+ F
count
& d# j* a' S( P( i) S2 d4 x ` 4 Q/ i! \' |( w
if r(N)>2 {
: F: q+ U: Q, z/ A9 `# D: \! _- V
9 [; \% I2 f* b# Q& H pkexamine dx240 ddy240; X7 E7 K* I% o( M% D& `
' R8 a6 ^* f! l% N
local tempmaxphddy240=r(tomc)
9 v% ?/ U( J6 P. U2 J+ q ) D" U1 F* f1 f% S- x# m, k( N; }
restore/ u+ s# i. U/ t. R1 @+ M/ J6 j
}" z- I1 Y; L9 P7 d1 @- ^
) S U- i1 Q# } else {! ]: L! E( q9 j2 ?5 r
' Q; ~7 E# U: {* ]
di "cannot find pmaxphddy240"
; d' E$ t9 N( c6 A* e- i! g restore
! I, I3 Q. c4 F 8 k: Y( A5 D/ b5 O0 R* u& I
sum dx2406 m4 F- P8 N5 u a* `9 F
local tempmaxphddy240=r(mean)
7 U; n2 m, D3 E7 e$ O2 T7 V K, d
8 c( C5 ]# M; ~4 v4 Y! V/ Y# g7 b 2 Q2 m- p- G4 ^ Y4 x: A# ^
}& Q# @9 h. N/ g; E6 X5 N
3 W. Z) Y/ G' ~: D4 |. Y- C
& A2 u! t5 @. x$ k0 v6 @( W
+ A1 O+ y7 x8 N* E
- L2 N3 K9 C7 i
: B. p+ f" u$ b2 H$ V4 r' m
, a4 j. X( n" l/ U8 r% y# b gen pmaxphddy240=`tempmaxphddy240' in 1! m) M7 c6 g& R/ v6 g V, p$ V
' f3 h* K3 I8 w2 \
% r8 U; y0 c! n2 q% D% j *-------------ddy240pmaxp右侧低峰值 -------------------
( [4 M" `; L; R3 S / I; S f d6 a+ q
preserve 8 M) E6 \7 q) `- v6 t
0 M/ Y5 I3 ]2 @
keep if dx240>`tempmaxp': m$ P6 i$ ^# @) B
% b6 W% v% l3 C2 R7 d gen temddy240=-ddy240
/ l f3 D" z3 X) x8 v. `1 X+ T$ T$ @
- e+ Y: ?, y* F& g: D/ E6 x' } keep if temddy240>0
1 l& T: b4 W P4 H$ p+ @ ; B% M! i" Z' \$ \; L% a1 s. U8 T
count' K* X2 R P4 Q+ s. N& R
/ P) f, U8 p1 F% C6 I* q if r(N)>2 {
! Z5 c1 J8 Z% r) `9 ?: J( | : s9 M6 O' k& K
pkexamine dx240 temddy240
" k0 f! y& B! g) z" j* g+ z * ]8 r' ?, b0 C, \
local tempmaxplddy240=r(tomc)
3 C2 a" r6 q9 O1 x# ^8 B2 y- {- E/ z2 H) u$ v restore4 G3 C" H0 g$ N" E1 h- `
}2 ^! |8 y; f: H
0 e# H$ v% M9 I5 w# @9 p0 C, r else {
+ B" _, E1 [& t restore& ~1 J# N1 C+ @" S% q0 B) C4 N
di "cannot find pmaxlhddy240"' D* m- f9 o4 k+ K/ u
3 l+ j/ h, |5 \# z2 T
7 r# L) [4 t/ j7 [ q% K$ L sum dx240
+ K# D, C5 I+ I$ u- v local tempmaxplddy240=r(mean) in 1
+ R+ I" ^" c1 j; v ; r5 r* w: x9 D$ D- @
. h4 _1 g3 Q* J% J' ]6 O
}* k. t6 N" n `8 J# E/ T7 k
) }3 N: z& O6 C6 p( G
. K) Z1 q c8 K0 W3 [, W0 D
) N4 R/ B4 K- ~9 N
4 K/ u3 C) ~7 e) d9 ?
4 i, y/ |: p! B$ {' m$ \. f; c% k 5 [: \; \ ^1 s2 t
gen pmaxplddy240=`tempmaxphddy240' in 1: v+ f$ j7 ]; f% j4 G- S
) \3 v7 `: h1 S1 e) A R3 a
*-------------------------------------; u2 J Y- A3 ?' D
! f) p6 p; {0 T; ~
gen price5d=v5 in 1/203 A; c1 {6 s2 o: }6 ]
z0 p# g1 M' g* r. k+ a gen price5yy=_n in 1/20
/ g& E. ~5 y4 v5 O! \/ i9 \$ Y
4 R2 K' F% ^3 ]/ R `' N gen price5y=price5yy*(dy240max-dy240min)/20, g0 t" k( S1 M5 L
9 V- U, U* f# z9 x4 |
*price5y &price5d
! P& x; w; f C. [9 g U
* L5 N' T% S; f' f% V. R5 C3 n gen priceny=price5y in 1
% {: `# _; T/ x1 R8 O5 r( H 2 D, P% h# o0 S% Q7 H5 ~6 H8 I9 _
gen pricen=v5 in 1
& y- x% o) C2 t. \0 G
8 H1 L' v& i1 B * C/ Z, c% O1 O; z& p, u4 a
*priceny &pricen" ]: n! V+ w' n$ Y/ Z# j. ~; `. B5 U5 f
' M5 K, i5 D" L9 S$ M
# r C( u" n4 S9 Z+ Q *-------------------------graph------------------
$ v2 `7 R8 {: g' Z# h; |8 Z0 e6 t
% @% l! l7 l9 D8 k( d5 T# S 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)
7 a0 G% z; m" O) `& a5 y5 N
U" Q' O; {3 p1 e1 Y* ---------可选项目----------------------
) A& G5 W3 I2 t, S- ^4 O, Y* I
* }) s) b+ f3 [' H$ O}
5 }( F. \- r& }& M- r" ?7 ]end
" k% ?- B. t( b" O |
|