|
改了一下,这次运算应该没啥问题了( l! Y2 M( H$ S" Y! y/ T
! ?3 H! V: U H" f" m' V
, _2 |3 `' d: K: c3 A6 Dcapture program drop hello
" ]- Z% [$ l& v$ Y4 p* z
* y8 m* r+ V1 wprogram hello9 Z8 |' F7 \ Q& I! t6 C3 M
! n8 T5 m) p# H) Y( t$ b' \" F- C: c+ U quietly {- u6 V# H9 R. S6 {" f, Z7 o
+ t5 {3 h8 V9 E
clear
/ k D: h+ J8 ~1 Y& o; t' V: [& u' V- b. o0 A3 [0 F0 d
cd e:\finance\stock\20110101\source* J: V1 [$ N: B& z- @ N1 Z
( n4 Y6 q) V4 D* ~) ]$ k( A" Finsheet using `1'.txt
) H2 Q+ x- D& N
) _) B# d3 L! Q6 x keep if v5>0
. {4 J6 j$ g6 c. J5 y 7 a/ h& `- S( |( O/ u: C
gen vt=_n3 t. m6 ^5 m; N- |3 w2 V. `; |
) Y7 g6 s8 I& H4 y$ D) G0 j
tsset vt
' p$ o. \8 I. q! F3 w* z
% [. a/ r3 y' }8 z+ x1 l gen zf=D1.v5
9 H- N6 n( H" t4 q9 Z+ |! f
, l$ q$ c% A& k: ]" F gsort -v1
; j3 c' c% M. u6 L) u
$ g. V& m: _) T, t; O! S% I+ ^5 Y gen avol=v7/v5& G" A) `1 `: Q+ \
2 g7 x& H$ T: F8 a0 Y keep if avol>01 o$ f/ p6 r) u" `. e ?) x; S# G' d
% F! v3 `6 d/ G$ c drop vt8 y7 T" r! D& a e+ l
7 L0 L# s) _+ G0 G W& _$ @ gen vt=_n
( E0 Y, |0 |7 ^
7 }, e" `& ~. H3 r; v tsset vt
" D0 y/ o! \" B ~- u' ` & g4 a1 u# O0 ]4 x
sum v5 [aw =avol]' ^! r: R% ]) u& C ]( ^
- ?; f3 E+ G/ g/ d$ f( U7 Y gen amean=r(mean) in 1/ D) S/ {( Q" a
- ~9 d: P9 f P A
* 总加权平均值 amean
/ x& @/ c' ?; n 4 o- ^; k1 p! P) q( _: I5 P# |6 j
! A" C5 p1 @' r% |: i/ ]1 x! f
keep in 1/240/ e; e5 z4 d; `$ w- L- l
9 J" `( u' Y% g) n0 _5 p4 l' q: h; X; w sum v5 [aw =avol]
1 N" W' t+ C$ V0 @; v P
6 w) d$ ~5 c1 f gen mean240=r(mean) in 1! M' d/ ?' i, W7 a+ x
2 l! T: N6 X3 \, t) V( w2 g7 G
*240加权平均值 mean240
$ G2 T8 M! E, r% I- J4 q( M
% C: _3 y7 N" X. U) | set obs 500 8 }$ d9 Y# `) H9 C8 h; ~
! I& D8 S, f* H7 n kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph
' H$ B9 @' y$ p E" c4 P' X) ? & _2 x) R5 f8 w0 m+ A
*240 kdensity(dx240 dy240)
4 q" V% N: P5 X# { 8 `5 v$ P- \/ v) V
sum dy240
3 ?9 }+ A; V3 ] C, S& C
! Y! l7 e6 \% J gen yxis=r(max) in 1
0 g5 q8 \5 I0 T
* ] \' g6 {! d; @& j! u gen yxis2=yxis/21 k) G8 L% D3 j% q$ `
4 I9 F! X9 n/ m) @, G5 G *yxis
% u% H& P3 c$ n4 s9 Y% S1 p p
' V8 A! F# K, I* T gen dy240max=r(max)
- o% n* D9 f. s# m/ K1 g, T) U8 U+ g . z$ Z/ R; v. R+ k; p& k: D& G+ ?' S
gen dy240minp=r(min)2 I+ s; v8 P/ O- T2 \, X
! \0 C$ S- T q' ?
gen vtt=_n$ b1 y5 \" u3 I) q' c, ?; K3 q
7 s" O! a9 _( s7 b tsset vtt) k& K% h; x( ?. Y: T u: \, T2 g" o2 v
4 ?1 |' K8 p+ `6 S7 n$ `$ p% N
gen ddy240=D1.dy240/D1.dx240
0 U1 b1 W: e/ r$ Z. K 3 q7 V" |# s$ L* ~0 K5 C) V# r4 H
sum ddy240% |' F3 K' Y8 t1 G, L! U) a, s$ r7 \
' K" D- P' D2 Z; t* T' w8 F- a gen ddy240max=r(max)
: G, `' E0 F3 t, R
& c- e0 u5 b/ x3 D2 o" h- z gen ddy240min=r(min)3 I5 {4 O0 l, g& _/ A/ x
9 [1 M K; k/ I gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min): J3 p" e. |8 E! n0 J
% H. R9 o, o! p8 n. I7 b8 s sum ddy240g
3 c/ T3 V* m4 s0 C, J+ t7 L1 G ( X' m. ~8 F0 w5 \# q
gen yxis3=r(min) in 1
/ V, W/ H- O$ l
# S. \. f' l/ F8 s# @6 y$ _ gen yxis4=0 in 12 n1 D& N) j1 ^: ~: V# c
6 d i# @; e. i3 U6 Z1 x/ Y) i' p' } *ddy240g 9 z! E. i4 {5 C* \2 j g
: O( E$ ?5 M/ g1 B
, {; K, I4 ~* ~$ \" M% \ preserve 3 O% R; i3 v/ n; d3 L
; q# |3 O; L- e p( V& \2 \7 n
sum v5 [aw =avol]' X- p8 N% o- x# |' u
' m% C/ d" `" \; W6 } keep if dx240<r(mean)
+ Y, z. |9 C9 G- t5 t : p" Z5 L1 Q8 w8 E0 B2 N: l
sum ddy240+ x' z' A; k; K( a7 Q
5 c! u. U8 ^0 F6 I if r(min)<0 {" |, z9 u- |/ A; x; @* X3 d
* R, w) R/ {) x3 C7 ^) v keep if ddy240<=0
4 I0 g. ~) F! Q" u- n7 u I" c 2 F$ ^5 s2 ~. m+ U/ A9 { M
count9 X2 b7 f4 K* K) Y
2 l% z6 s( }- j# p: J5 s/ l) G if r(N)>2 {
3 C; b" s' {8 M( O% M
) ?5 e. G% i) K. F: D, A ] pkexamine dx240 dy240; m/ q, m- b6 k1 H/ C5 A$ G
/ K: l3 `' d5 d8 k+ ] local tempminp=r(tomc)
3 c$ E6 t; ~: P5 N6 \ restore
$ U A# [7 Y) E5 _ }
# e1 ]4 f% n6 W7 o
8 }, J) F4 f# e6 ~* _" \9 P! ] else {
& O( T+ H1 e4 }2 d y' C8 s T/ R9 n! u. y9 T
di "cannot find minp"
1 ~) L/ k) `7 \& L! N
$ ?( B; l7 }0 ]/ ?% }/ x restore
3 r& ~/ p2 z, X6 F5 h; J" T$ m sum dx240$ L9 n: X$ q- u& f# x
local tempminp=r(mean)
1 k0 {! @5 \2 z" _3 E
3 E% e B! e8 p }
. D( R% h% B8 v+ u6 T) ?' q }- T1 ~" c; T4 f. v& C! d
else {
5 d' x( C4 C! h- D7 e3 {
5 g/ ^ v5 H2 ?. [) Z3 b, F' T) B keep if ddy240<=r(min)3 r. I: ?" E3 L- B8 k" \# i) n
1 r" X+ S& _* E$ g E9 `, E
sum dx240) S" ], H$ [5 N4 f m
2 \$ y5 z6 S2 p5 M
local tempminp=r(min)- F% M; e" F6 z w, T
restore
5 T" C# R; G4 r }
$ B. d' K2 }8 K. Y* ? _9 b/ X! V
# V+ }& ?$ Z$ U5 p$ C8 }+ ]9 H) c3 r" N9 ~1 M4 i2 R4 B
, K& U, w1 n- D) |2 x4 F% Q2 m/ f gen minp=`tempminp' in 1( H* ~# U: x' }2 ~3 H" E1 A9 k
*240 minp# ]6 \3 R( e6 _. |3 n* U
3 B3 i2 A8 F! q3 I
2 ?9 j8 `3 f; e" |! K/ A# g6 G $ w! ?8 _& k; q1 o$ a% o2 P5 g( m
preserve
0 ^& z e* G2 U9 t9 V. A
3 Z' x7 l0 ~# c5 V sum v5 [aw =avol]
+ m |$ D4 N, B/ ~ q. \ C( K* D9 R3 K8 a* V- t0 n1 `
keep if dx240>r(mean)
& |& P4 r! `( \* h) M ( S) f Z) a0 ~; x* t* Z. ~
sum ddy2405 A4 K% ^5 s8 c" E
0 a+ Q- W" ^% f) R4 U5 N k b
if r(max)>0 {
8 K: Y* U/ S/ Y' N. b 9 x3 X* v& G' Z& E: H
keep if ddy240>=0
; c# R9 `( K2 A; z% ]
$ C4 `8 J! }: t count
4 P; ]: m. m/ ?8 y7 k
S8 t# `- I3 Q$ k if r(N)>2 {' E: E6 G- p: _+ s/ \& J3 M
5 z5 N9 M2 \. |3 t9 \
pkexamine dx240 dy240$ C6 Q) h s; q9 l, s
, G3 p Z; I$ L* m. k3 ?) c2 H9 D
local tempmaxp=r(tomc) 5 ]0 ?" I! h# |) V% n" {6 A
restore
; Y/ n4 H) Z3 c- U% |- f }
- |$ }6 d* c m: S Y% ~# Y: n8 e ! w& L+ y$ B. J
, w/ [7 J4 G+ c. J else {
* S" r8 |9 {$ t$ O* H restore - c- v% M" D. [; ]/ }
di "cannot find maxp"5 s$ R! J* _" [+ o) ?! a7 R$ v; d
) G( |5 z' u1 `! ~0 j u. |
8 L. a5 E, g- ?( ?. m sum dx240# q: G4 h1 J X' [' u
local tempmaxp=r(mean)
/ o. M; W: \$ x) i8 C) B * T. Z* j! g( j9 h6 B; P, }) q
}
5 Z4 c: x) i+ I/ J T% K f
- O6 G% _! q% A% h+ I }& R! i( H5 |9 L- u
0 f& i! ?$ z+ N# y/ H8 f3 a# ^ else {+ T1 s X& c% Q! A
, B. V- L3 P( v* {& `& c9 @
keep if ddy240>=r(max), A9 V/ v; R* }4 f W
; m' r* ]: @! \ g a sum dx2408 ?, z' T- U) G9 Z2 k6 k
7 {2 W3 K8 @5 o! Y6 P, x
local tempmaxp=r(max)
) P" V7 M4 D4 V5 r5 @: Q B restore
$ l2 \8 Q: M- Z) x- a% w; | }
8 G8 Q, r# E7 w& ]$ n4 L
4 n6 o6 W0 h9 g3 a1 d! X3 r7 P+ D0 J0 ^
1 i4 H: s, M1 q- z, X5 l
2 n0 V) d p; j8 [ gen maxp=`tempmaxp' in 1$ I( B- a* w1 u- u" @' L
7 T0 A0 f5 x% Y# \# r$ f *240maxp
1 o$ A: ~. Q1 E) S& b# y $ N4 A3 _& d8 M
: F; O, J, T7 ^% e. w( X* U
*-------------ddy240pminp左侧高峰值-----
! r+ M. P' C8 o, f" V8 n, K
* s, u% ~! W. e1 ?, z2 m2 k preserve
( F* ] j7 a) [5 o2 y ; y4 m. @* Q" O, U C; r+ ^
keep if dx240<`tempminp'
' s, e# ~- x4 L* _- Z6 s3 R/ Z 4 _/ o# u% q5 ]+ S5 |* ~6 ^
keep if ddy240>0
5 H& [+ ?9 n; o+ } ' B0 m. O6 g8 `5 t, o; P3 e% ]: ]
count
3 j1 u4 O k! y, e- t: o ; i9 Q% r* P$ ?: L% M& f
if r(N)>2 {
0 _/ ~2 S1 h6 q 4 h: s# u: L/ _) X! R
pkexamine dx240 ddy240, L. R8 s# ^1 |( x7 n+ p
h$ E; T9 k" j0 ]! x# [ local tempminphddy240=r(tomc)
, n1 N3 f/ A* |0 r4 I restore$ K+ y/ x3 c3 D5 @& g
}
5 a3 W4 d# A, t9 i( G3 }# q
- I- d; ]+ s' T1 V5 w, |, B else {
' ?# C8 z" ?9 f7 |9 V restore : q5 b$ P' x. n6 M
di "cannot find pminphddy240"
' h: i; j. y, F% Q$ v% [) V
; a, d7 ~: C" m! q7 D 1 T8 Q' d; n9 g1 g& ^5 J
sum dx240
* T5 B' N* n# h7 e4 E* c0 f* a local tempminphddy240=r(mean)
5 w8 @! Q( W; ?
2 D6 q7 w. W7 i* G% L7 ^% s
' b3 M- n3 Z% u# K" C; h }
% l- N, Z8 P, d4 u6 S4 ?$ n0 X& H0 R : C: j6 j# g U- h% s) I+ s% x
5 d, ~% D& x! e% [/ q( a
3 X# O% a& n8 \ T
6 A5 G! G6 f L( n2 W
; K7 B4 o# H8 {( a8 Q
/ R0 {3 |4 _+ _9 ^: E9 k gen pminphddy240=`tempminphddy240' in 1
* d% Y8 R. Y" b& \, r# _
) t& s9 p% A+ v2 M$ X- A$ Q # u2 I1 [2 S3 k- Y
*-------------ddy240pminp右侧低峰值 -----------------
X. R8 s: d. {" N/ z preserve
. B" T' j" W c$ s 2 D: v) a" o1 b9 l; k+ D( t
keep if dx240>`tempminp'* o: J; Y/ D1 `; L* v
/ E/ _2 e% ~6 n9 e' y8 i/ [
keep if dx240<`tempmaxp'0 Z; E3 |+ f& E. H
/ z0 y. u- H( n9 Z
keep if ddy240<0& j6 L9 @0 H" t2 c2 O0 h4 ~
# b# j+ }4 Y" F4 B
gen temddy240=-ddy240
+ E' B2 l+ h6 {' K" W8 f / f: b* H4 g8 ]
count) C4 a7 y& D: W7 T" W% Z
& q8 v$ s0 b' ?
if r(N)>2 {
" s# z# X* a- f- |2 e . f# {0 N$ n( @, U1 ^
pkexamine dx240 temddy240
* A/ _) S3 `4 ~. J- n6 u- p
# n$ U* w7 \# B0 w local tempminplddy240=r(tomc)% L3 r6 v- Z1 F; [
restore
3 A8 e' ^. v8 C }
$ E+ {1 r4 Y/ ^& T6 m . ^" b d. L- ^* d7 N
else {
1 t1 M$ H |# ~7 K% q2 Z o- o 1 b/ D) p# O4 O Z4 @2 n3 U0 K) S1 q
di "cannot find pminplddy240"
/ g# J2 f1 I8 z8 A restore" ?6 v; j2 _* r
9 `) N' w; F5 s) X* I7 C
sum dx240
& w7 a" S! Y; B# H+ k local tempminplddy240=r(mean)8 _- U M" S! G1 h2 X# P' U P/ Z
, t( U) z$ C; ]8 o
+ y4 g$ ~& `9 ~( ?/ y5 n }$ Y& z/ b4 {1 _
. d: [" y8 h V4 ] G $ @, _3 b# `! n
5 n1 f% F# P- V6 O4 V" ], S- B
0 m' W% z9 s, ]; f. _
5 ^- N7 S( f+ @2 S9 U gen pminplddy240=`tempminplddy240' in 16 S7 F% q; Y+ ]" X
- Z g; Z r2 C: C7 [/ E *-------------ddy240pmaxp左侧高峰值 -------------------+ Q0 ?% F$ L# n3 `8 b
c# ~( t4 i) ]1 U$ Z! Y1 c
preserve
9 \4 P% @+ \; n
! t B' @7 x, f7 l keep if dx240>`tempminp'
8 m6 E4 a& k4 [, o* Z
, ^+ K$ I3 ~' d0 d4 d4 h. F* w: i keep if dx240<`tempmaxp'& b+ `9 y1 G3 v: ~) {! S
4 g6 G" a- z# p5 a/ W3 d keep if ddy240>05 @) H$ E/ o: z5 o' |
count
6 t9 q p* s9 {0 Z( C
/ A. f' H2 C7 V/ p! } if r(N)>2 {& k' O3 Q g1 j
" m# M( A$ N1 I, q9 n pkexamine dx240 ddy240
# V( e5 P9 W. g+ Y $ y& k' l& B4 U; [
local tempmaxphddy240=r(tomc) F" p9 P4 r* v7 ]( Y6 }
: e- w! B- \0 ]2 `3 n
restore
1 u* x) x$ x ~/ q }- _! y6 u5 k) l" j, m, r N
9 C( |' A- _7 a: s* c3 J, k3 @* E! Z else {
" d& z l4 Z) T) t
& b' F4 @' p8 y' j$ r6 S di "cannot find pmaxphddy240"
% m8 I. N* d! [8 V6 R restore+ L f% I! Q& E7 i
" i1 f1 v# L8 M9 Q' H/ A
sum dx240
, Q3 e! ]. x2 d+ X- Y2 o* T local tempmaxphddy240=r(mean) $ N: o3 V) [/ W: G$ D5 P/ u2 }, J
( o4 m& R) w9 h ' U) p* V3 I0 X z! M7 ?
}
6 o7 {' h7 r" p
; F7 n& _% c. j4 A/ U2 Z0 U3 j
9 `: `8 J3 u3 C9 U8 ^1 _: N3 M \& l5 U! G6 B: \
6 X+ g8 q' I! v) \# y. f! f6 Z
0 T7 `3 o) E7 M. V2 ^ 1 [$ l/ m3 o' ~/ X4 }! B
gen pmaxphddy240=`tempmaxphddy240' in 1
6 b' G' k3 c% M/ k
0 I) I" \$ t3 B1 v) v* f 8 Y" V- k! m; x0 P6 c* K3 B
*-------------ddy240pmaxp右侧低峰值 -------------------
2 E% I& c$ P' b4 B4 n W' r # i) m8 j6 M: M$ ^2 s2 h% `
preserve 5 C2 [3 \# z" c9 S, k
3 D. s Q( ]/ p% u keep if dx240>`tempmaxp'
) f. z( y" J& x. i4 X
5 Q/ S: Q* l Y8 k2 \ gen temddy240=-ddy240
. U9 y* R+ s% A8 I- P B
$ |( o+ N5 b* |7 i$ P/ y keep if temddy240>0
. m8 b ~0 [" } x( g! t $ u. n/ n) z0 l% U
count
. }. i. y% n7 v- E) q, I
6 a9 w) U, ?. o& v if r(N)>2 {
+ a W, \6 T& ^2 a 3 u) q4 ^8 b6 C. _
pkexamine dx240 temddy240& u5 `- O1 s Y6 j3 l+ {, L
7 a7 b& O8 ]7 e9 _2 {
local tempmaxplddy240=r(tomc)
m9 ?1 F* f# I restore; d* d- F" T7 U
}1 X8 j$ ~. e' _8 p. @
/ i7 B) O; I3 I0 I3 a. j else {
# Q$ r5 S2 l3 V: g# @ restore
" o4 x0 D: y7 n( V8 o di "cannot find pmaxlhddy240"
+ A# |9 g) o( e* X2 e% F3 K* w/ z, F 1 z' O! g; C0 p9 R
; E$ _. n! \! }, k9 F) i/ v
sum dx240
: [% S2 ?! a; n, Q1 ] local tempmaxplddy240=r(mean) in 14 @4 }& L2 y/ R! O6 @# E
# w! N: O& s. V$ R
8 U2 V c' J' r$ R( a9 y$ y. t }
+ }" t4 s0 ], C0 P1 i' O2 ]7 j
9 h @$ K( w6 d; X8 q
# x* G+ p: ^2 {/ c9 Q% l ( a: j' e+ |! C1 w. n, Y
# N; z! [" v3 d1 V2 p0 |* g, [9 L
$ C6 `, s- G {# B5 o ! @0 R+ T7 [; W2 T+ J: Q1 @
gen pmaxplddy240=`tempmaxphddy240' in 1( H8 o& Z" L4 F% N$ Y
- j! Q; w6 ?6 B4 n5 G
*-------------------------------------: B3 Q0 _5 l& r# n2 X
1 i0 ?. I- [& t9 ^5 J
gen price5d=v5 in 1/20
1 O8 I, e7 x9 |" c6 f4 p
: ~0 G2 @. L$ R& S1 ~& U gen price5yy=_n in 1/200 q; s: W5 t+ m, x H! ^
2 E6 \8 R5 y4 a. y
gen price5y=price5yy*(dy240max-dy240min)/209 Q" p/ |! \( V. ~
+ p' B; R! t% F: t! H
*price5y &price5d
" U, ]$ O2 j, f+ n [
5 T6 r& a& _) f3 t% e# f gen priceny=price5y in 1* n6 ^! [) K7 _1 T
# a$ G- P; p1 G. n gen pricen=v5 in 1
7 J: s, q3 A. L7 i1 T* |7 L" d5 Y% e1 p) ]/ ?( H$ `+ |0 P, z
) a, y( b4 w i" x
*priceny &pricen, y% T7 P# G8 K; ]
, |4 z% o. ^- n: } " D7 s6 s- d2 N" B( ^* ?
*-------------------------graph------------------: N) F* c& z3 t( A+ ^- ~
) j4 p: }) a- ?2 v$ n. I, e
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)& `9 H+ n2 F) V0 Z
. {* W" g- d! o+ p1 Z/ [0 g* ---------可选项目----------------------
- {/ J0 ?# N/ d0 [& U3 t7 l9 g) `# H7 V$ G+ s# r% p6 m: J F; y; w/ o
}/ t* b$ ?" O Y
end, u: G" W& l3 L, ?- s \
|
|